summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2008-08-19 20:09:52 +0000
committerOwen Anderson <resistor@mac.com>2008-08-19 20:09:52 +0000
commitc75ae1356673c6ec103c18c25f2c137dd48a51dd (patch)
tree720084b3999995dcd4c9994ff557960a1be82628 /llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
parent5afbf510aae91c1f35ad9c5b2aa0067accbb7fc6 (diff)
downloadbcm5719-llvm-c75ae1356673c6ec103c18c25f2c137dd48a51dd.tar.gz
bcm5719-llvm-c75ae1356673c6ec103c18c25f2c137dd48a51dd.zip
The fast-path still needs to set kill markers and spill/restore points as appropriate.
With this patch, all of MultiSource/Applications and all of SPEC2000/2006 pass with the SimpleSpiller and this fast-path enabled. llvm-svn: 55000
Diffstat (limited to 'llvm/lib/CodeGen/LiveIntervalAnalysis.cpp')
-rw-r--r--llvm/lib/CodeGen/LiveIntervalAnalysis.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
index dae20caa41a..5e89c4d964f 100644
--- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -1666,12 +1666,15 @@ addIntervalsForSpillsFast(const LiveInterval &li,
VNMap[MO.getParent()]);
DOUT << " +" << LR;
nI.addRange(LR);
+ vrm.addRestorePoint(NewVReg, MO.getParent());
+ MO.setIsKill(true);
}
if (HasDef) {
LiveRange LR(getDefIndex(index), getStoreIndex(index),
VNMap[MO.getParent()]);
DOUT << " +" << LR;
nI.addRange(LR);
+ vrm.addSpillPoint(NewVReg, true, MO.getParent());
}
if (newInt)
OpenPOWER on IntegriCloud