summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAllocGreedy.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-29 21:20:19 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-29 21:20:19 +0000
commite991f728d6ebfe5165b0447e1cfa2d9eebb58c43 (patch)
tree0f8f384fd2f1d7e3e65174c3a693e61a45ae2e65 /llvm/lib/CodeGen/RegAllocGreedy.cpp
parent42d0a6c7705aa15d6848666cd0ef8df383cf09e6 (diff)
downloadbcm5719-llvm-e991f728d6ebfe5165b0447e1cfa2d9eebb58c43.tar.gz
bcm5719-llvm-e991f728d6ebfe5165b0447e1cfa2d9eebb58c43.zip
Recompute register class and hint for registers created during spilling.
The spill weight is not recomputed for an unspillable register - it stays infinite. llvm-svn: 128490
Diffstat (limited to 'llvm/lib/CodeGen/RegAllocGreedy.cpp')
-rw-r--r--llvm/lib/CodeGen/RegAllocGreedy.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/RegAllocGreedy.cpp b/llvm/lib/CodeGen/RegAllocGreedy.cpp
index 77a172870a3..098df59beb9 100644
--- a/llvm/lib/CodeGen/RegAllocGreedy.cpp
+++ b/llvm/lib/CodeGen/RegAllocGreedy.cpp
@@ -1164,6 +1164,7 @@ unsigned RAGreedy::selectOrSplit(LiveInterval &VirtReg,
NamedRegionTimer T("Spiller", TimerGroupName, TimePassesIsEnabled);
LiveRangeEdit LRE(VirtReg, NewVRegs, this);
spiller().spill(LRE);
+ setStage(NewVRegs.begin(), NewVRegs.end(), RS_Spill);
if (VerifyEnabled)
MF->verify(this, "After spilling");
OpenPOWER on IntegriCloud