summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jit/codegencommon.cpp4
-rw-r--r--src/jit/lsra.cpp4
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);
}