Skip to content

Commit 50cf7cc

Browse files
Revert "expt"
This reverts commit 9b2a62d.
1 parent 9b2a62d commit 50cf7cc

File tree

1 file changed

+4
-20
lines changed

1 file changed

+4
-20
lines changed

src/coreclr/jit/lsra.cpp

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4945,37 +4945,20 @@ void LinearScan::allocateRegistersMinimal()
49454945
// TODO: Can we combine this with the freeing of registers below? It might
49464946
// mess with the dump, since this was previously being done before the call below
49474947
// to dumpRegRecords.
4948-
// regMaskTP tempRegsToMakeInactive = (regsToMakeInactive | delayRegsToMakeInactive);
4949-
/*while (tempRegsToMakeInactive.IsNonEmpty())
4948+
regMaskTP tempRegsToMakeInactive = (regsToMakeInactive | delayRegsToMakeInactive);
4949+
while (tempRegsToMakeInactive.IsNonEmpty())
49504950
{
49514951
regNumber nextReg = genFirstRegNumFromMaskAndToggle(tempRegsToMakeInactive);
49524952
RegRecord* regRecord = getRegisterRecord(nextReg);
49534953
clearSpillCost(regRecord->regNum, regRecord->registerType);
49544954
makeRegisterInactive(regRecord);
4955-
}*/
4956-
SingleTypeRegSet tempRegsToMakeInactiveLow = regsToMakeInactive.getLow() | delayRegsToMakeInactive.getLow();
4957-
while (tempRegsToMakeInactiveLow != RBM_NONE)
4958-
{
4959-
regNumber nextReg = genFirstRegNumFromMaskAndToggle(tempRegsToMakeInactiveLow);
4960-
RegRecord* regRecord = getRegisterRecord(nextReg);
4961-
clearSpillCost(regRecord->regNum, regRecord->registerType);
4962-
makeRegisterInactive(regRecord);
49634955
}
4964-
#ifdef HAS_MORE_THAN_64_REGISTERS
4965-
SingleTypeRegSet tempRegsToMakeInactiveHigh = regsToMakeInactive.getHigh() | delayRegsToMakeInactive.getHigh();
4966-
while (tempRegsToMakeInactiveHigh != RBM_NONE)
4967-
{
4968-
regNumber nextReg = (regNumber) (genFirstRegNumFromMaskAndToggle(tempRegsToMakeInactiveHigh) + REG_HIGH_BASE);
4969-
RegRecord* regRecord = getRegisterRecord(nextReg);
4970-
clearSpillCost(regRecord->regNum, regRecord->registerType);
4971-
makeRegisterInactive(regRecord);
4972-
}
4973-
#endif // HAS_MORE_THAN_64_REGISTERS
49744956
if (currentRefPosition.nodeLocation > prevLocation)
49754957
{
49764958
makeRegsAvailable(regsToMakeInactive);
49774959
// TODO: Clean this up. We need to make the delayRegs inactive as well, but don't want
49784960
// to mark them as free yet.
4961+
regsToMakeInactive |= delayRegsToMakeInactive;
49794962
regsToMakeInactive = delayRegsToMakeInactive;
49804963
delayRegsToMakeInactive = RBM_NONE;
49814964
}
@@ -5660,6 +5643,7 @@ void LinearScan::allocateRegisters()
56605643
makeRegsAvailable(regsToMakeInactive);
56615644
// TODO: Clean this up. We need to make the delayRegs inactive as well, but don't want
56625645
// to mark them as free yet.
5646+
regsToMakeInactive |= delayRegsToMakeInactive;
56635647
regsToMakeInactive = delayRegsToMakeInactive;
56645648
delayRegsToMakeInactive = RBM_NONE;
56655649
}

0 commit comments

Comments
 (0)