[llvm-commits] [llvm] r163334 - /llvm/trunk/lib/CodeGen/LiveRangeCalc.cpp

Jakob Stoklund Olesen stoklund at 2pi.dk
Thu Sep 6 11:15:15 PDT 2012


Author: stoklund
Date: Thu Sep  6 13:15:15 2012
New Revision: 163334

URL: http://llvm.org/viewvc/llvm-project?rev=163334&view=rev
Log:
Clear kill flags while computing live ranges.

Kill flags are difficult to maintain, and liveness queries are better
handled by live intervals.

Kill flags are reinserted after register allocation by addKillFlags().

Modified:
    llvm/trunk/lib/CodeGen/LiveRangeCalc.cpp

Modified: llvm/trunk/lib/CodeGen/LiveRangeCalc.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveRangeCalc.cpp?rev=163334&r1=163333&r2=163334&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/LiveRangeCalc.cpp (original)
+++ llvm/trunk/lib/CodeGen/LiveRangeCalc.cpp Thu Sep  6 13:15:15 2012
@@ -65,7 +65,11 @@
   // Visit all operands that read Reg. This may include partial defs.
   for (MachineRegisterInfo::reg_nodbg_iterator I = MRI->reg_nodbg_begin(Reg),
        E = MRI->reg_nodbg_end(); I != E; ++I) {
-    const MachineOperand &MO = I.getOperand();
+    MachineOperand &MO = I.getOperand();
+    // Clear all kill flags. They will be reinserted after register allocation
+    // by LiveIntervalAnalysis::addKillFlags().
+    if (MO.isUse())
+      MO.setIsKill(false);
     if (!MO.readsReg())
       continue;
     // MI is reading Reg. We may have visited MI before if it happens to be





More information about the llvm-commits mailing list