The fast-path still needs to set kill markers and spill/restore points as appropriate.
authorOwen Anderson <resistor@mac.com>
Tue, 19 Aug 2008 20:09:52 +0000 (20:09 +0000)
committerOwen Anderson <resistor@mac.com>
Tue, 19 Aug 2008 20:09:52 +0000 (20:09 +0000)
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

lib/CodeGen/LiveIntervalAnalysis.cpp

index dae20caa41aa9547af635c1dc7149b0a6e6f5ff4..5e89c4d964fc56c0b63b235656ad8f428876655f 100644 (file)
@@ -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)