{
if (intervalToUnassign != nullptr)
{
+ RegRecord* physRegToUnassign = availablePhysRegInterval;
#ifdef _TARGET_ARM_
- RegRecord* unassignedPhysReg = availablePhysRegInterval;
// We should unassign a double register if availablePhysRegInterval is part of the double register
if (availablePhysRegInterval->assignedInterval->registerType == TYP_DOUBLE &&
!genIsValidDoubleReg(availablePhysRegInterval->regNum))
- unassignedPhysReg = findAnotherHalfRegRec(availablePhysRegInterval);
-
- unassignPhysReg(unassignedPhysReg, intervalToUnassign->recentRefPosition);
-#else
- unassignPhysReg(availablePhysRegInterval, intervalToUnassign->recentRefPosition);
+ physRegToUnassign = findAnotherHalfRegRec(availablePhysRegInterval);
#endif
+ unassignPhysReg(physRegToUnassign, intervalToUnassign->recentRefPosition);
if (bestScore & VALUE_AVAILABLE)
{
assert(intervalToUnassign->isConstant);
// the next ref, remember it.
else if ((bestScore & UNASSIGNED) != 0 && intervalToUnassign != nullptr)
{
-#ifdef _TARGET_ARM_
- updatePreviousInterval(unassignedPhysReg, intervalToUnassign, intervalToUnassign->registerType);
-#else
- updatePreviousInterval(availablePhysRegInterval, intervalToUnassign, intervalToUnassign->registerType);
-#endif
+ updatePreviousInterval(physRegToUnassign, intervalToUnassign, intervalToUnassign->registerType);
}
}
else