diff options
author | Owen Anderson <resistor@mac.com> | 2008-08-19 20:09:52 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2008-08-19 20:09:52 +0000 |
commit | c75ae1356673c6ec103c18c25f2c137dd48a51dd (patch) | |
tree | 720084b3999995dcd4c9994ff557960a1be82628 /llvm/lib/CodeGen/LiveIntervalAnalysis.cpp | |
parent | 5afbf510aae91c1f35ad9c5b2aa0067accbb7fc6 (diff) | |
download | bcm5719-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.cpp | 3 |
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) |