From 9eedca03f2b2ef32ac09f6a207d1e33236727d60 Mon Sep 17 00:00:00 2001 From: Sergey Andreenko Date: Wed, 20 Sep 2017 11:04:16 -0700 Subject: [PATCH] mark argplace node as no_lir (#14044) mark argplace node as no_lir --- src/jit/codegenarmarch.cpp | 3 +-- src/jit/codegenxarch.cpp | 3 +-- src/jit/gentree.h | 3 +-- src/jit/gtlist.h | 32 ++++++++++++++++---------------- 4 files changed, 19 insertions(+), 22 deletions(-) diff --git a/src/jit/codegenarmarch.cpp b/src/jit/codegenarmarch.cpp index e9a12af..b7b9312 100644 --- a/src/jit/codegenarmarch.cpp +++ b/src/jit/codegenarmarch.cpp @@ -272,9 +272,8 @@ void CodeGen::genCodeForTreeNode(GenTreePtr treeNode) case GT_LIST: case GT_FIELD_LIST: - case GT_ARGPLACE: // Should always be marked contained. - assert(!"LIST, FIELD_LIST and ARGPLACE nodes should always be marked contained."); + assert(!"LIST, FIELD_LIST nodes should always be marked contained."); break; case GT_PUTARG_STK: diff --git a/src/jit/codegenxarch.cpp b/src/jit/codegenxarch.cpp index f8bad9e..ce91b81 100644 --- a/src/jit/codegenxarch.cpp +++ b/src/jit/codegenxarch.cpp @@ -1917,9 +1917,8 @@ void CodeGen::genCodeForTreeNode(GenTreePtr treeNode) case GT_LIST: case GT_FIELD_LIST: - case GT_ARGPLACE: // Should always be marked contained. - assert(!"LIST, FIELD_LIST and ARGPLACE nodes should always be marked contained."); + assert(!"LIST, FIELD_LIST nodes should always be marked contained."); break; case GT_SWAP: diff --git a/src/jit/gentree.h b/src/jit/gentree.h index a8911d0..69304e7 100644 --- a/src/jit/gentree.h +++ b/src/jit/gentree.h @@ -1145,9 +1145,8 @@ public: // NOPs may only be present in LIR if they do not produce a value. return IsNothingNode(); - case GT_ARGPLACE: case GT_LIST: - // ARGPLACE and LIST nodes may not be present in a block's LIR sequence, but they may + // LIST nodes may not be present in a block's LIR sequence, but they may // be present as children of an LIR node. return (gtNext == nullptr) && (gtPrev == nullptr); diff --git a/src/jit/gtlist.h b/src/jit/gtlist.h index b9098da..47b3e52 100644 --- a/src/jit/gtlist.h +++ b/src/jit/gtlist.h @@ -289,27 +289,27 @@ GTNODE(SWITCH_TABLE , GenTreeOp ,0, GTK_BINOP|GTK_NOVALUE) // Jump // Nodes used only within the code generator: //----------------------------------------------------------------------------- -GTNODE(REG_VAR , GenTreeLclVar ,0,GTK_LEAF|GTK_LOCAL) // register variable -GTNODE(CLS_VAR , GenTreeClsVar ,0,GTK_LEAF) // static data member -GTNODE(CLS_VAR_ADDR , GenTreeClsVar ,0,GTK_LEAF) // static data member address -GTNODE(ARGPLACE , GenTreeArgPlace ,0,GTK_LEAF|GTK_NOVALUE) // placeholder for a register arg -GTNODE(NULLCHECK , GenTreeOp ,0,GTK_UNOP|GTK_NOVALUE) // null checks the source -GTNODE(PHYSREG , GenTreePhysReg ,0,GTK_LEAF) // read from a physical register -GTNODE(EMITNOP , GenTree ,0,GTK_LEAF|GTK_NOVALUE) // emitter-placed nop -GTNODE(PINVOKE_PROLOG , GenTree ,0,GTK_LEAF|GTK_NOVALUE) // pinvoke prolog seq -GTNODE(PINVOKE_EPILOG , GenTree ,0,GTK_LEAF|GTK_NOVALUE) // pinvoke epilog seq +GTNODE(REG_VAR , GenTreeLclVar ,0,GTK_LEAF|GTK_LOCAL) // register variable +GTNODE(CLS_VAR , GenTreeClsVar ,0,GTK_LEAF) // static data member +GTNODE(CLS_VAR_ADDR , GenTreeClsVar ,0,GTK_LEAF) // static data member address +GTNODE(ARGPLACE , GenTreeArgPlace ,0,GTK_LEAF|GTK_NOVALUE|GTK_NOTLIR) // placeholder for a register arg +GTNODE(NULLCHECK , GenTreeOp ,0,GTK_UNOP|GTK_NOVALUE) // null checks the source +GTNODE(PHYSREG , GenTreePhysReg ,0,GTK_LEAF) // read from a physical register +GTNODE(EMITNOP , GenTree ,0,GTK_LEAF|GTK_NOVALUE) // emitter-placed nop +GTNODE(PINVOKE_PROLOG , GenTree ,0,GTK_LEAF|GTK_NOVALUE) // pinvoke prolog seq +GTNODE(PINVOKE_EPILOG , GenTree ,0,GTK_LEAF|GTK_NOVALUE) // pinvoke epilog seq #if !defined(LEGACY_BACKEND) && defined(_TARGET_ARM_) -GTNODE(PUTARG_REG , GenTreeMultiRegOp ,0,GTK_UNOP) // operator that places outgoing arg in register +GTNODE(PUTARG_REG , GenTreeMultiRegOp ,0,GTK_UNOP) // operator that places outgoing arg in register #else -GTNODE(PUTARG_REG , GenTreeOp ,0,GTK_UNOP) // operator that places outgoing arg in register +GTNODE(PUTARG_REG , GenTreeOp ,0,GTK_UNOP) // operator that places outgoing arg in register #endif -GTNODE(PUTARG_STK , GenTreePutArgStk ,0,GTK_UNOP|GTK_NOVALUE) // operator that places outgoing arg in stack +GTNODE(PUTARG_STK , GenTreePutArgStk ,0,GTK_UNOP|GTK_NOVALUE) // operator that places outgoing arg in stack #if !defined(LEGACY_BACKEND) && defined(_TARGET_ARM_) -GTNODE(PUTARG_SPLIT , GenTreePutArgSplit ,0,GTK_UNOP) // operator that places outgoing arg in registers with stack (split struct in ARM32) +GTNODE(PUTARG_SPLIT , GenTreePutArgSplit ,0,GTK_UNOP) // operator that places outgoing arg in registers with stack (split struct in ARM32) #endif // !LEGACY_BACKEND && _TARGET_ARM_ -GTNODE(RETURNTRAP , GenTreeOp ,0,GTK_UNOP|GTK_NOVALUE) // a conditional call to wait on gc -GTNODE(SWAP , GenTreeOp ,0,GTK_BINOP|GTK_NOVALUE) // op1 and op2 swap (registers) -GTNODE(IL_OFFSET , GenTreeStmt ,0,GTK_LEAF|GTK_NOVALUE) // marks an IL offset for debugging purposes +GTNODE(RETURNTRAP , GenTreeOp ,0,GTK_UNOP|GTK_NOVALUE) // a conditional call to wait on gc +GTNODE(SWAP , GenTreeOp ,0,GTK_BINOP|GTK_NOVALUE) // op1 and op2 swap (registers) +GTNODE(IL_OFFSET , GenTreeStmt ,0,GTK_LEAF|GTK_NOVALUE) // marks an IL offset for debugging purposes /*****************************************************************************/ #undef GTNODE -- 2.7.4