OSDN Git Service

Update split candidate correctly when interference cache is full.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 1 Nov 2011 00:02:31 +0000 (00:02 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 1 Nov 2011 00:02:31 +0000 (00:02 +0000)
No test case, spotted by inspection.

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

lib/CodeGen/RegAllocGreedy.cpp

index f54a2c8..71b7f4f 100644 (file)
@@ -1118,6 +1118,8 @@ unsigned RAGreedy::tryRegionSplit(LiveInterval &VirtReg, AllocationOrder &Order,
       }
       --NumCands;
       GlobalCand[Worst] = GlobalCand[NumCands];
+      if (BestCand == NumCands)
+        BestCand = Worst;
     }
 
     if (GlobalCand.size() <= NumCands)