diff options
-rw-r--r-- | src/jit/codegencommon.cpp | 4 | ||||
-rw-r--r-- | src/jit/lsra.cpp | 4 |
2 files changed, 1 insertions, 7 deletions
diff --git a/src/jit/codegencommon.cpp b/src/jit/codegencommon.cpp index 49c00622b3..40dec4a791 100644 --- a/src/jit/codegencommon.cpp +++ b/src/jit/codegencommon.cpp @@ -891,10 +891,6 @@ void Compiler::compUpdateLifeVar(GenTreePtr tree, VARSET_TP* pLastUseVars) if (!varDsc->lvTracked && !varDsc->lvPromoted) return; - // Don't update life for thisptr that is kept alive - if (lvaKeepAliveAndReportThis() && lclNum == info.compThisArg) - return; - bool isBorn = ((tree->gtFlags & GTF_VAR_DEF) != 0 && (tree->gtFlags & GTF_VAR_USEASG) == 0); // if it's "x <op>= ..." then variable "x" must have had a previous, original, site to be born. bool isDying = ((tree->gtFlags & GTF_VAR_DEATH) != 0); diff --git a/src/jit/lsra.cpp b/src/jit/lsra.cpp index c7a91bb787..78815633cc 100644 --- a/src/jit/lsra.cpp +++ b/src/jit/lsra.cpp @@ -2250,7 +2250,6 @@ LinearScan::setLastUses(BasicBlock * block) { unsigned varNum = currentRefPosition->getInterval()->varNum; unsigned varIndex = currentRefPosition->getInterval()->getVarIndex(compiler); - // We should always have a tree node for a localVar, except for the "special" RefPositions. GenTreePtr tree = currentRefPosition->treeNode; assert(tree != nullptr || currentRefPosition->refType == RefTypeExpUse || currentRefPosition->refType == RefTypeDummyDef); @@ -2286,8 +2285,7 @@ LinearScan::setLastUses(BasicBlock * block) } } - if ((currentRefPosition->refType == RefTypeDef || currentRefPosition->refType == RefTypeDummyDef) && - (varNum != keepAliveVarNum)) + if (currentRefPosition->refType == RefTypeDef || currentRefPosition->refType == RefTypeDummyDef) { VarSetOps::RemoveElemD(compiler, temp, varIndex); } |