[JIT/x86] Fix LinearScan::allocateRegisters (dotnet/coreclr#26649)
authorKonstantin Baladurin <k.baladurin@samsung.com>
Fri, 13 Sep 2019 17:28:08 +0000 (20:28 +0300)
committerCarol Eidt <carol.eidt@microsoft.com>
Fri, 13 Sep 2019 17:28:08 +0000 (10:28 -0700)
Check for `lvLRACandidate` instead of `!lvDoNotEnregister` when checking whether `this` may be enregistered and has an Interval.

Commit migrated from https://github.com/dotnet/coreclr/commit/e41d8f0390323bba033a1ace2570c1099cf7443b

src/coreclr/src/jit/lsra.cpp

index 59969ac..0eef8b5 100644 (file)
@@ -5858,7 +5858,7 @@ void LinearScan::allocateRegisters()
     if (enregisterLocalVars && compiler->lvaKeepAliveAndReportThis())
     {
         LclVarDsc* thisVarDsc = compiler->lvaGetDesc(compiler->info.compThisArg);
-        if (!thisVarDsc->lvDoNotEnregister)
+        if (thisVarDsc->lvLRACandidate)
         {
             Interval* interval = getIntervalForLocalVar(thisVarDsc->lvVarIndex);
             if (interval->isSplit)