Clobber more bugs.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 5 Dec 2007 09:05:34 +0000 (09:05 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 5 Dec 2007 09:05:34 +0000 (09:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44610 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LiveIntervalAnalysis.cpp

index cc2298a898c139925c8b61b1196e95ab48b30e0f..b237247f7f14584642fba4917c3bf3a54bd3458e 100644 (file)
@@ -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));
           }
         }