summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Danes <onemihaid@hotmail.com>2018-11-02 23:45:00 +0200
committerMike Danes <onemihaid@hotmail.com>2018-11-03 09:44:28 +0200
commitd10a43375ef9086034cc64dce114b70f801321e8 (patch)
tree275d5f756f225a4be59d43808a4656ea58117c64
parentb94d2ea21043bff882a9404cfb9bb17a111582ab (diff)
downloadcoreclr-d10a43375ef9086034cc64dce114b70f801321e8.tar.gz
coreclr-d10a43375ef9086034cc64dce114b70f801321e8.tar.bz2
coreclr-d10a43375ef9086034cc64dce114b70f801321e8.zip
Ifdef out GenTreeLclVar::gtLclILoffs
This member is only used in debug builds.
-rw-r--r--src/jit/compiler.h4
-rw-r--r--src/jit/decomposelongs.cpp4
-rw-r--r--src/jit/gentree.cpp12
-rw-r--r--src/jit/gentree.h13
-rw-r--r--src/jit/importer.cpp16
-rw-r--r--src/jit/lir.cpp2
-rw-r--r--src/jit/liveness.cpp3
-rw-r--r--src/jit/lower.cpp30
-rw-r--r--src/jit/morph.cpp8
9 files changed, 45 insertions, 47 deletions
diff --git a/src/jit/compiler.h b/src/jit/compiler.h
index eb6255d333..aff7ceaed2 100644
--- a/src/jit/compiler.h
+++ b/src/jit/compiler.h
@@ -2366,7 +2366,8 @@ public:
GenTreeCall* gtNewHelperCallNode(unsigned helper, var_types type, GenTreeArgList* args = nullptr);
- GenTree* gtNewLclvNode(unsigned lnum, var_types type, IL_OFFSETX ILoffs = BAD_IL_OFFSET);
+ GenTree* gtNewLclvNode(unsigned lnum, var_types type DEBUGARG(IL_OFFSETX ILoffs = BAD_IL_OFFSET));
+ GenTree* gtNewLclLNode(unsigned lnum, var_types type DEBUGARG(IL_OFFSETX ILoffs = BAD_IL_OFFSET));
#ifdef FEATURE_SIMD
GenTreeSIMD* gtNewSIMDNode(
@@ -2411,7 +2412,6 @@ public:
CORINFO_CLASS_HANDLE gtGetStructHandleForHWSIMD(var_types simdType, var_types simdBaseType);
#endif // FEATURE_HW_INTRINSICS
- GenTree* gtNewLclLNode(unsigned lnum, var_types type, IL_OFFSETX ILoffs = BAD_IL_OFFSET);
GenTreeLclFld* gtNewLclFldNode(unsigned lnum, var_types type, unsigned offset);
GenTree* gtNewInlineCandidateReturnExpr(GenTree* inlineCandidate, var_types type);
diff --git a/src/jit/decomposelongs.cpp b/src/jit/decomposelongs.cpp
index cd12182018..4a0f27b555 100644
--- a/src/jit/decomposelongs.cpp
+++ b/src/jit/decomposelongs.cpp
@@ -805,7 +805,7 @@ GenTree* DecomposeLongs::DecomposeStoreInd(LIR::Use& use)
storeIndLow->gtType = TYP_INT;
GenTree* addrBaseHigh = new (m_compiler, GT_LCL_VAR)
- GenTreeLclVar(GT_LCL_VAR, addrBase->TypeGet(), addrBase->AsLclVarCommon()->GetLclNum(), BAD_IL_OFFSET);
+ GenTreeLclVar(GT_LCL_VAR, addrBase->TypeGet(), addrBase->AsLclVarCommon()->GetLclNum());
GenTree* addrHigh =
new (m_compiler, GT_LEA) GenTreeAddrMode(TYP_REF, addrBaseHigh, nullptr, 0, genTypeSize(TYP_INT));
GenTree* storeIndHigh = new (m_compiler, GT_STOREIND) GenTreeStoreInd(TYP_INT, addrHigh, dataHigh);
@@ -857,7 +857,7 @@ GenTree* DecomposeLongs::DecomposeInd(LIR::Use& use)
// Create tree of ind(addr+4)
GenTree* addrBase = indLow->gtGetOp1();
GenTree* addrBaseHigh = new (m_compiler, GT_LCL_VAR)
- GenTreeLclVar(GT_LCL_VAR, addrBase->TypeGet(), addrBase->AsLclVarCommon()->GetLclNum(), BAD_IL_OFFSET);
+ GenTreeLclVar(GT_LCL_VAR, addrBase->TypeGet(), addrBase->AsLclVarCommon()->GetLclNum());
GenTree* addrHigh =
new (m_compiler, GT_LEA) GenTreeAddrMode(TYP_REF, addrBaseHigh, nullptr, 0, genTypeSize(TYP_INT));
GenTree* indHigh = new (m_compiler, GT_IND) GenTreeIndir(GT_IND, TYP_INT, addrHigh, nullptr);
diff --git a/src/jit/gentree.cpp b/src/jit/gentree.cpp
index 837974acde..5846187268 100644
--- a/src/jit/gentree.cpp
+++ b/src/jit/gentree.cpp
@@ -5869,7 +5869,7 @@ GenTreeCall* Compiler::gtNewCallNode(
return node;
}
-GenTree* Compiler::gtNewLclvNode(unsigned lnum, var_types type, IL_OFFSETX ILoffs)
+GenTree* Compiler::gtNewLclvNode(unsigned lnum, var_types type DEBUGARG(IL_OFFSETX ILoffs))
{
// We need to ensure that all struct values are normalized.
// It might be nice to assert this in general, but we have assignments of int to long.
@@ -5881,7 +5881,7 @@ GenTree* Compiler::gtNewLclvNode(unsigned lnum, var_types type, IL_OFFSETX ILoff
assert(type == lvaTable[lnum].lvType ||
(lvaIsImplicitByRefLocal(lnum) && fgGlobalMorph && (lvaTable[lnum].lvType == TYP_BYREF)));
}
- GenTree* node = new (this, GT_LCL_VAR) GenTreeLclVar(type, lnum, ILoffs);
+ GenTree* node = new (this, GT_LCL_VAR) GenTreeLclVar(type, lnum DEBUGARG(ILoffs));
/* Cannot have this assert because the inliner uses this function
* to add temporaries */
@@ -5891,7 +5891,7 @@ GenTree* Compiler::gtNewLclvNode(unsigned lnum, var_types type, IL_OFFSETX ILoff
return node;
}
-GenTree* Compiler::gtNewLclLNode(unsigned lnum, var_types type, IL_OFFSETX ILoffs)
+GenTree* Compiler::gtNewLclLNode(unsigned lnum, var_types type DEBUGARG(IL_OFFSETX ILoffs))
{
// We need to ensure that all struct values are normalized.
// It might be nice to assert this in general, but we have assignments of int to long.
@@ -5905,7 +5905,7 @@ GenTree* Compiler::gtNewLclLNode(unsigned lnum, var_types type, IL_OFFSETX ILoff
}
// This local variable node may later get transformed into a large node
assert(GenTree::s_gtNodeSizes[GT_CALL] > GenTree::s_gtNodeSizes[GT_LCL_VAR]);
- GenTree* node = new (this, GT_CALL) GenTreeLclVar(type, lnum, ILoffs DEBUGARG(/*largeNode*/ true));
+ GenTree* node = new (this, GT_CALL) GenTreeLclVar(type, lnum DEBUGARG(ILoffs) DEBUGARG(/*largeNode*/ true));
return node;
}
@@ -6682,7 +6682,7 @@ GenTree* Compiler::gtClone(GenTree* tree, bool complexOK)
// Remember that the LclVar node has been cloned. The flag will be set
// on 'copy' as well.
tree->gtFlags |= GTF_VAR_CLONED;
- copy = gtNewLclvNode(tree->gtLclVarCommon.gtLclNum, tree->gtType, tree->gtLclVar.gtLclILoffs);
+ copy = gtNewLclvNode(tree->gtLclVarCommon.gtLclNum, tree->gtType DEBUGARG(tree->gtLclVar.gtLclILoffs));
break;
case GT_LCL_FLD:
@@ -6869,7 +6869,7 @@ GenTree* Compiler::gtCloneExpr(
// Remember that the LclVar node has been cloned. The flag will
// be set on 'copy' as well.
tree->gtFlags |= GTF_VAR_CLONED;
- copy = gtNewLclvNode(tree->gtLclVar.gtLclNum, tree->gtType, tree->gtLclVar.gtLclILoffs);
+ copy = gtNewLclvNode(tree->gtLclVar.gtLclNum, tree->gtType DEBUGARG(tree->gtLclVar.gtLclILoffs));
copy->AsLclVarCommon()->SetSsaNum(tree->AsLclVarCommon()->GetSsaNum());
}
copy->gtFlags = tree->gtFlags;
diff --git a/src/jit/gentree.h b/src/jit/gentree.h
index c04a09d0fe..a086e32d2b 100644
--- a/src/jit/gentree.h
+++ b/src/jit/gentree.h
@@ -2733,15 +2733,18 @@ public:
struct GenTreeLclVar : public GenTreeLclVarCommon
{
- IL_OFFSET gtLclILoffs; // instr offset of ref (only for debug info)
+ INDEBUG(IL_OFFSET gtLclILoffs;) // instr offset of ref (only for debug)
- GenTreeLclVar(var_types type, unsigned lclNum, IL_OFFSET ilOffs DEBUGARG(bool largeNode = false))
- : GenTreeLclVarCommon(GT_LCL_VAR, type, lclNum DEBUGARG(largeNode)), gtLclILoffs(ilOffs)
+ GenTreeLclVar(var_types type,
+ unsigned lclNum DEBUGARG(IL_OFFSET ilOffs = BAD_IL_OFFSET) DEBUGARG(bool largeNode = false))
+ : GenTreeLclVarCommon(GT_LCL_VAR, type, lclNum DEBUGARG(largeNode)) DEBUGARG(gtLclILoffs(ilOffs))
{
}
- GenTreeLclVar(genTreeOps oper, var_types type, unsigned lclNum, IL_OFFSET ilOffs DEBUGARG(bool largeNode = false))
- : GenTreeLclVarCommon(oper, type, lclNum DEBUGARG(largeNode)), gtLclILoffs(ilOffs)
+ GenTreeLclVar(genTreeOps oper,
+ var_types type,
+ unsigned lclNum DEBUGARG(IL_OFFSET ilOffs = BAD_IL_OFFSET) DEBUGARG(bool largeNode = false))
+ : GenTreeLclVarCommon(oper, type, lclNum DEBUGARG(largeNode)) DEBUGARG(gtLclILoffs(ilOffs))
{
assert(OperIsLocal(oper) || OperIsLocalAddr(oper));
}
diff --git a/src/jit/importer.cpp b/src/jit/importer.cpp
index 69e485e2be..dc30d08c15 100644
--- a/src/jit/importer.cpp
+++ b/src/jit/importer.cpp
@@ -10797,7 +10797,7 @@ void Compiler::impImportBlockCode(BasicBlock* block)
/* Create the assignment node */
- op2 = gtNewLclvNode(lclNum, lclTyp, opcodeOffs + sz + 1);
+ op2 = gtNewLclvNode(lclNum, lclTyp DEBUGARG(opcodeOffs + sz + 1));
/* If the local is aliased or pinned, we need to spill calls and
indirections from the stack. */
@@ -10913,7 +10913,7 @@ void Compiler::impImportBlockCode(BasicBlock* block)
ADRVAR:
- op1 = gtNewLclvNode(lclNum, lvaGetActualType(lclNum), opcodeOffs + sz + 1);
+ op1 = gtNewLclvNode(lclNum, lvaGetActualType(lclNum) DEBUGARG(opcodeOffs + sz + 1));
_PUSH_ADRVAR:
assert(op1->gtOper == GT_LCL_VAR);
@@ -10969,7 +10969,7 @@ void Compiler::impImportBlockCode(BasicBlock* block)
assertImp(0 < numArgs);
assert(lvaTable[lvaVarargsHandleArg].lvAddrExposed);
lclNum = lvaVarargsHandleArg;
- op1 = gtNewLclvNode(lclNum, TYP_I_IMPL, opcodeOffs + sz + 1);
+ op1 = gtNewLclvNode(lclNum, TYP_I_IMPL DEBUGARG(opcodeOffs + sz + 1));
op1 = gtNewOperNode(GT_ADDR, TYP_BYREF, op1);
impPushOnStack(op1, tiRetVal);
break;
@@ -15597,7 +15597,7 @@ void Compiler::impLoadVar(unsigned lclNum, IL_OFFSET offset, typeInfo tiRetVal)
lclTyp = lvaGetActualType(lclNum);
}
- impPushVar(gtNewLclvNode(lclNum, lclTyp, offset), tiRetVal);
+ impPushVar(gtNewLclvNode(lclNum, lclTyp DEBUGARG(offset)), tiRetVal);
}
// Load an argument on the operand stack
@@ -16160,7 +16160,7 @@ bool Compiler::impReturnInstruction(BasicBlock* block, int prefixFlags, OPCODE&
else if (info.compRetBuffArg != BAD_VAR_NUM)
{
// Assign value to return buff (first param)
- GenTree* retBuffAddr = gtNewLclvNode(info.compRetBuffArg, TYP_BYREF, impCurStmtOffs);
+ GenTree* retBuffAddr = gtNewLclvNode(info.compRetBuffArg, TYP_BYREF DEBUGARG(impCurStmtOffs));
op2 = impAssignStructPtr(retBuffAddr, op2, retClsHnd, (unsigned)CHECK_SPILL_ALL);
impAppendTree(op2, (unsigned)CHECK_SPILL_NONE, impCurStmtOffs);
@@ -18129,7 +18129,7 @@ void Compiler::impInlineRecordArgInfo(InlineInfo* pInlineInfo,
inlCurArgInfo->argIsLclVar = true;
/* Remember the "original" argument number */
- curArgVal->gtLclVar.gtLclILoffs = argNum;
+ INDEBUG(curArgVal->gtLclVar.gtLclILoffs = argNum;)
}
if ((curArgVal->OperKind() & GTK_CONST) ||
@@ -18783,7 +18783,7 @@ GenTree* Compiler::impInlineFetchArg(unsigned lclNum, InlArgInfo* inlArgInfo, In
}
// Create a new lcl var node - remember the argument lclNum
- op1 = gtNewLclvNode(op1->gtLclVarCommon.gtLclNum, newTyp, op1->gtLclVar.gtLclILoffs);
+ op1 = gtNewLclvNode(op1->gtLclVarCommon.gtLclNum, newTyp DEBUGARG(op1->gtLclVar.gtLclILoffs));
}
}
else if (argInfo.argIsByRefToStructLocal && !argInfo.argHasStargOp)
@@ -18893,7 +18893,7 @@ GenTree* Compiler::impInlineFetchArg(unsigned lclNum, InlArgInfo* inlArgInfo, In
!argInfo.argHasCallerLocalRef)
{
/* Get a *LARGE* LCL_VAR node */
- op1 = gtNewLclLNode(tmpNum, genActualType(lclTyp), lclNum);
+ op1 = gtNewLclLNode(tmpNum, genActualType(lclTyp) DEBUGARG(lclNum));
/* Record op1 as the very first use of this argument.
If there are no further uses of the arg, we may be
diff --git a/src/jit/lir.cpp b/src/jit/lir.cpp
index 480a5d3e95..79d6379084 100644
--- a/src/jit/lir.cpp
+++ b/src/jit/lir.cpp
@@ -270,7 +270,7 @@ unsigned LIR::Use::ReplaceWithLclVar(Compiler* compiler, unsigned blockWeight, u
assert(store->gtOp1 == node);
GenTree* const load =
- new (compiler, GT_LCL_VAR) GenTreeLclVar(store->TypeGet(), store->AsLclVarCommon()->GetLclNum(), BAD_IL_OFFSET);
+ new (compiler, GT_LCL_VAR) GenTreeLclVar(store->TypeGet(), store->AsLclVarCommon()->GetLclNum());
m_range->InsertAfter(node, store, load);
diff --git a/src/jit/liveness.cpp b/src/jit/liveness.cpp
index a92cc34cdb..9729272794 100644
--- a/src/jit/liveness.cpp
+++ b/src/jit/liveness.cpp
@@ -993,8 +993,7 @@ void Compiler::fgExtendDbgLifetimes()
}
else
{
- GenTree* store =
- new (this, GT_STORE_LCL_VAR) GenTreeLclVar(GT_STORE_LCL_VAR, type, varNum, BAD_IL_OFFSET);
+ GenTree* store = new (this, GT_STORE_LCL_VAR) GenTreeLclVar(GT_STORE_LCL_VAR, type, varNum);
store->gtOp.gtOp1 = zero;
store->gtFlags |= (GTF_VAR_DEF | GTF_ASG);
diff --git a/src/jit/lower.cpp b/src/jit/lower.cpp
index 5e29c0b717..47ef1d0460 100644
--- a/src/jit/lower.cpp
+++ b/src/jit/lower.cpp
@@ -481,10 +481,9 @@ GenTree* Lowering::LowerSwitch(GenTree* node)
unsigned lclNum = comp->lvaGrabTemp(true DEBUGARG("Lowering is creating a new local variable"));
comp->lvaTable[lclNum].lvType = rhs->TypeGet();
- GenTreeLclVar* store =
- new (comp, GT_STORE_LCL_VAR) GenTreeLclVar(GT_STORE_LCL_VAR, rhs->TypeGet(), lclNum, BAD_IL_OFFSET);
- store->gtOp1 = rhs;
- store->gtFlags = (rhs->gtFlags & GTF_COMMON_MASK);
+ GenTreeLclVar* store = new (comp, GT_STORE_LCL_VAR) GenTreeLclVar(GT_STORE_LCL_VAR, rhs->TypeGet(), lclNum);
+ store->gtOp1 = rhs;
+ store->gtFlags = (rhs->gtFlags & GTF_COMMON_MASK);
store->gtFlags |= GTF_VAR_DEF;
switchBBRange.InsertAfter(node, store);
@@ -2070,9 +2069,8 @@ void Lowering::LowerFastTailCall(GenTreeCall* call)
if (tmpLclNum != BAD_VAR_NUM)
{
assert(tmpType != TYP_UNDEF);
- GenTreeLclVar* local =
- new (comp, GT_LCL_VAR) GenTreeLclVar(GT_LCL_VAR, tmpType, callerArgLclNum, BAD_IL_OFFSET);
- GenTree* assignExpr = comp->gtNewTempAssign(tmpLclNum, local);
+ GenTreeLclVar* local = new (comp, GT_LCL_VAR) GenTreeLclVar(GT_LCL_VAR, tmpType, callerArgLclNum);
+ GenTree* assignExpr = comp->gtNewTempAssign(tmpLclNum, local);
ContainCheckRange(local, assignExpr);
BlockRange().InsertBefore(firstPutArgStk, LIR::SeqTree(comp, assignExpr));
}
@@ -3176,7 +3174,7 @@ GenTree* Lowering::LowerDelegateInvoke(GenTreeCall* call)
// the control target is
// [originalThis + firstTgtOffs]
- GenTree* base = new (comp, GT_LCL_VAR) GenTreeLclVar(originalThisExpr->TypeGet(), lclNum, BAD_IL_OFFSET);
+ GenTree* base = new (comp, GT_LCL_VAR) GenTreeLclVar(originalThisExpr->TypeGet(), lclNum);
unsigned targetOffs = comp->eeGetEEInfo()->offsetOfDelegateFirstTarget;
GenTree* result = new (comp, GT_LEA) GenTreeAddrMode(TYP_REF, base, nullptr, 0, targetOffs);
@@ -3262,7 +3260,7 @@ GenTree* Lowering::SetGCState(int state)
const CORINFO_EE_INFO* pInfo = comp->eeGetEEInfo();
- GenTree* base = new (comp, GT_LCL_VAR) GenTreeLclVar(TYP_I_IMPL, comp->info.compLvFrameListRoot, -1);
+ GenTree* base = new (comp, GT_LCL_VAR) GenTreeLclVar(TYP_I_IMPL, comp->info.compLvFrameListRoot);
GenTree* stateNode = new (comp, GT_CNS_INT) GenTreeIntCon(TYP_BYTE, state);
GenTree* addr = new (comp, GT_LEA) GenTreeAddrMode(TYP_I_IMPL, base, nullptr, 1, pInfo->offsetOfGCState);
@@ -3287,8 +3285,7 @@ GenTree* Lowering::CreateFrameLinkUpdate(FrameLinkAction action)
const CORINFO_EE_INFO* pInfo = comp->eeGetEEInfo();
const CORINFO_EE_INFO::InlinedCallFrameInfo& callFrameInfo = pInfo->inlinedCallFrameInfo;
- GenTree* TCB = new (comp, GT_LCL_VAR) GenTreeLclVar(GT_LCL_VAR, TYP_I_IMPL, comp->info.compLvFrameListRoot,
- (IL_OFFSET)-1); // cast to resolve ambiguity.
+ GenTree* TCB = new (comp, GT_LCL_VAR) GenTreeLclVar(GT_LCL_VAR, TYP_I_IMPL, comp->info.compLvFrameListRoot);
// Thread->m_pFrame
GenTree* addr = new (comp, GT_LEA) GenTreeAddrMode(TYP_I_IMPL, TCB, nullptr, 1, pInfo->offsetOfThreadFrame);
@@ -3395,8 +3392,7 @@ void Lowering::InsertPInvokeMethodProlog()
noway_assert(varDsc->lvType == TYP_I_IMPL);
GenTree* store =
- new (comp, GT_STORE_LCL_VAR) GenTreeLclVar(GT_STORE_LCL_VAR, TYP_I_IMPL, comp->info.compLvFrameListRoot,
- (IL_OFFSET)-1); // cast to resolve ambiguity.
+ new (comp, GT_STORE_LCL_VAR) GenTreeLclVar(GT_STORE_LCL_VAR, TYP_I_IMPL, comp->info.compLvFrameListRoot);
store->gtOp.gtOp1 = call;
store->gtFlags |= GTF_VAR_DEF;
@@ -3563,8 +3559,8 @@ void Lowering::InsertPInvokeCallProlog(GenTreeCall* call)
if (comp->opts.ShouldUsePInvokeHelpers())
{
// First argument is the address of the frame variable.
- GenTree* frameAddr = new (comp, GT_LCL_VAR_ADDR)
- GenTreeLclVar(GT_LCL_VAR_ADDR, TYP_BYREF, comp->lvaInlinedPInvokeFrameVar, BAD_IL_OFFSET);
+ GenTree* frameAddr =
+ new (comp, GT_LCL_VAR_ADDR) GenTreeLclVar(GT_LCL_VAR_ADDR, TYP_BYREF, comp->lvaInlinedPInvokeFrameVar);
// Insert call to CORINFO_HELP_JIT_PINVOKE_BEGIN
GenTree* helperCall =
@@ -3718,7 +3714,7 @@ void Lowering::InsertPInvokeCallEpilog(GenTreeCall* call)
// First argument is the address of the frame variable.
GenTree* frameAddr =
- new (comp, GT_LCL_VAR) GenTreeLclVar(GT_LCL_VAR, TYP_BYREF, comp->lvaInlinedPInvokeFrameVar, BAD_IL_OFFSET);
+ new (comp, GT_LCL_VAR) GenTreeLclVar(GT_LCL_VAR, TYP_BYREF, comp->lvaInlinedPInvokeFrameVar);
frameAddr->SetOperRaw(GT_LCL_VAR_ADDR);
// Insert call to CORINFO_HELP_JIT_PINVOKE_END
@@ -3962,7 +3958,7 @@ GenTree* Lowering::LowerVirtualVtableCall(GenTreeCall* call)
}
else
{
- local = new (comp, GT_LCL_VAR) GenTreeLclVar(GT_LCL_VAR, thisPtr->TypeGet(), lclNum, BAD_IL_OFFSET);
+ local = new (comp, GT_LCL_VAR) GenTreeLclVar(GT_LCL_VAR, thisPtr->TypeGet(), lclNum);
}
// pointer to virtual table = [REG_CALL_THIS + offs]
diff --git a/src/jit/morph.cpp b/src/jit/morph.cpp
index 8817c2d644..85f50d8855 100644
--- a/src/jit/morph.cpp
+++ b/src/jit/morph.cpp
@@ -2580,13 +2580,13 @@ GenTree* Compiler::fgInsertCommaFormTemp(GenTree** ppTree, CORINFO_CLASS_HANDLE
// setting type of lcl vars created.
GenTree* asg = gtNewTempAssign(lclNum, subTree);
- GenTree* load = new (this, GT_LCL_VAR) GenTreeLclVar(subTree->TypeGet(), lclNum, BAD_IL_OFFSET);
+ GenTree* load = new (this, GT_LCL_VAR) GenTreeLclVar(subTree->TypeGet(), lclNum);
GenTree* comma = gtNewOperNode(GT_COMMA, subTree->TypeGet(), asg, load);
*ppTree = comma;
- return new (this, GT_LCL_VAR) GenTreeLclVar(subTree->TypeGet(), lclNum, BAD_IL_OFFSET);
+ return new (this, GT_LCL_VAR) GenTreeLclVar(subTree->TypeGet(), lclNum);
}
//------------------------------------------------------------------------
@@ -4718,8 +4718,8 @@ GenTree* Compiler::fgMorphMultiregStructArg(GenTree* arg, fgArgTabEntry* fgEntry
{
// We can use the struct promoted field as the two arguments
- GenTree* loLclVar = gtNewLclvNode(loVarNum, loType, loVarNum);
- GenTree* hiLclVar = gtNewLclvNode(hiVarNum, hiType, hiVarNum);
+ GenTree* loLclVar = gtNewLclvNode(loVarNum, loType);
+ GenTree* hiLclVar = gtNewLclvNode(hiVarNum, hiType);
// Create a new tree for 'arg'
// replace the existing LDOBJ(ADDR(LCLVAR))