[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

Evan Cheng evan.cheng at apple.com
Sun Feb 25 01:42:16 PST 2007



Changes in directory llvm/lib/CodeGen:

LiveIntervalAnalysis.cpp updated: 1.213 -> 1.214
---
Log message:

If the liveinterval of the source instruction has been extended, remove the IsKill marker.

---
Diffs of the changes:  (+6 -0)

 LiveIntervalAnalysis.cpp |    6 ++++++
 1 files changed, 6 insertions(+)


Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.213 llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.214
--- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.213	Fri Feb 23 14:40:13 2007
+++ llvm/lib/CodeGen/LiveIntervalAnalysis.cpp	Sun Feb 25 03:41:59 2007
@@ -828,6 +828,12 @@
     IntB.MergeValueNumberInto(BValNo, ValLR->ValId);
   DOUT << "   result = "; IntB.print(DOUT, mri_);
   DOUT << "\n";
+
+  // If the source instruction was killing the source register before the
+  // merge, unset the isKill marker given the live range has been extended.
+  MachineOperand *MOK = ValLREndInst->findRegisterUseOperand(IntB.reg, true);
+  if (MOK)
+    MOK->unsetIsKill();
   
   // Finally, delete the copy instruction.
   RemoveMachineInstrFromMaps(CopyMI);






More information about the llvm-commits mailing list