Fix a small bug.
authorDavid Greene <greened@obbligato.org>
Thu, 19 Nov 2009 19:09:39 +0000 (19:09 +0000)
committerDavid Greene <greened@obbligato.org>
Thu, 19 Nov 2009 19:09:39 +0000 (19:09 +0000)
Fix one case we missed to make sure we reserve registers from
allocation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89376 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegAllocLinearScan.cpp

index be1fa08cfa0057d1b82c6cbf143b4e0674229348..4d6b6891f0d9114122868a4d432474a42f7229ae 100644 (file)
@@ -1435,7 +1435,7 @@ unsigned RALinScan::getFreePhysReg(LiveInterval* cur,
     if (SkipDGRegs && DowngradedRegs.count(Reg))
       continue;
     if (isRegAvail(Reg) && Reg < inactiveCounts.size() &&
-        FreeRegInactiveCount < inactiveCounts[Reg]) {
+        FreeRegInactiveCount < inactiveCounts[Reg] && !isRecentlyUsed(Reg)) {
       FreeReg = Reg;
       FreeRegInactiveCount = inactiveCounts[Reg];
       if (FreeRegInactiveCount == MaxInactiveCount)