summaryrefslogtreecommitdiff
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
commit712c9f069048e18c1b3782046487f5e1f74b2483 (patch)
treedd6aff4bf2054a37b60d9969b6f1c794616d8f04
parent140be2dfb76928cb660b7de23f8310d76ca794b5 (diff)
downloadllvm-712c9f069048e18c1b3782046487f5e1f74b2483.tar.gz
llvm-712c9f069048e18c1b3782046487f5e1f74b2483.tar.bz2
llvm-712c9f069048e18c1b3782046487f5e1f74b2483.tar.xz
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55000 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/LiveIntervalAnalysis.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index dae20caa41..5e89c4d964 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/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)