From: Sergey Andreenko Date: Wed, 20 Sep 2017 18:04:16 +0000 (-0700) Subject: mark argplace node as no_lir (#14044) X-Git-Tag: accepted/tizen/base/20180629.140029~1079^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9eedca03f2b2ef32ac09f6a207d1e33236727d60;p=platform%2Fupstream%2Fcoreclr.git mark argplace node as no_lir (#14044) mark argplace node as no_lir --- 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