aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveIntervalAnalysis.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-12-05 09:05:34 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-12-05 09:05:34 +0000
commitf38d14f03e495ea98ae16bda6febbde276513294 (patch)
treeb70597a2c73369c42b2553e1651897e052a7baaa /lib/CodeGen/LiveIntervalAnalysis.cpp
parentb50bb8cf197709b3f49044740044c06d8f314564 (diff)
Clobber more bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44610 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveIntervalAnalysis.cpp')
-rw-r--r--lib/CodeGen/LiveIntervalAnalysis.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index cc2298a898..b237247f7f 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -1221,7 +1221,6 @@ addIntervalsForSpills(const LiveInterval &li,
// Original def may be modified so we have to make a copy here. vrm must
// delete these!
ReMatDefs[VN] = ReMatDefMI = ReMatDefMI->clone();
- vrm.setVirtIsReMaterialized(li.reg, ReMatDefMI);
bool CanDelete = true;
if (VNI->hasPHIKill) {
@@ -1309,9 +1308,11 @@ addIntervalsForSpills(const LiveInterval &li,
if (CanFold && !Ops.empty()) {
if (tryFoldMemoryOperand(MI, vrm, NULL, index, Ops, true, Slot,VReg)){
Folded = true;
- if (FoundUse > 0)
+ if (FoundUse > 0) {
// Also folded uses, do not issue a load.
eraseRestoreInfo(Id, index, VReg, RestoreMBBs, RestoreIdxes);
+ nI.removeRange(getLoadIndex(index), getUseIndex(index)+1);
+ }
nI.removeRange(getDefIndex(index), getStoreIndex(index));
}
}