未验证 提交 4aea2aa5 编写于 作者: K Kunal Pathak 提交者: GitHub

Lsra JitStressRegs mode SpillAlways fixes (#89720)

* fix few scenarios for spillAlways()

* Include JitStressRegs=0x800

* Revert "Include JitStressRegs=0x800"

This reverts commit 170233235b3e24530386f48569a3e6f9d1de2b70.
上级 f465d33a
......@@ -4871,6 +4871,7 @@ void LinearScan::allocateRegisters()
if (spillAlways() && lastAllocatedRefPosition != nullptr && !lastAllocatedRefPosition->IsPhysRegRef() &&
!lastAllocatedRefPosition->getInterval()->isInternal &&
(!lastAllocatedRefPosition->RegOptional() || (lastAllocatedRefPosition->registerAssignment != RBM_NONE)) &&
(RefTypeIsDef(lastAllocatedRefPosition->refType) || lastAllocatedRefPosition->getInterval()->isLocalVar))
{
assert(lastAllocatedRefPosition->registerAssignment != RBM_NONE);
......@@ -5015,7 +5016,7 @@ void LinearScan::allocateRegisters()
{
// Available registers should not hold constants
assert(isRegAvailable(reg, physRegRecord->registerType));
assert(!isRegConstant(reg, physRegRecord->registerType));
assert(!isRegConstant(reg, physRegRecord->registerType) || spillAlways());
assert(nextIntervalRef[reg] == MaxLocation);
assert(spillCost[reg] == 0);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册