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

Chris Lattner lattner at cs.uiuc.edu
Tue Aug 23 15:51:53 PDT 2005



Changes in directory llvm/lib/CodeGen:

LiveIntervalAnalysis.cpp updated: 1.143 -> 1.144
---
Log message:

Simplify this code by using higher-level LiveVariables methods


---
Diffs of the changes:  (+10 -20)

 LiveIntervalAnalysis.cpp |   30 ++++++++++--------------------
 1 files changed, 10 insertions(+), 20 deletions(-)


Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.143 llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.144
--- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.143	Wed Jul 27 18:11:25 2005
+++ llvm/lib/CodeGen/LiveIntervalAnalysis.cpp	Tue Aug 23 17:51:41 2005
@@ -431,12 +431,8 @@
 
       // If this redefinition is dead, we need to add a dummy unit live
       // range covering the def slot.
-      for (LiveVariables::killed_iterator KI = lv_->dead_begin(mi),
-             E = lv_->dead_end(mi); KI != E; ++KI)
-        if (KI->second == interval.reg) {
-          interval.addRange(LiveRange(RedefIndex, RedefIndex+1, 0));
-          break;
-        }
+      if (lv_->RegisterDefIsDead(mi, interval.reg))
+        interval.addRange(LiveRange(RedefIndex, RedefIndex+1, 0));
 
       DEBUG(std::cerr << "RESULT: " << interval);
 
@@ -496,13 +492,10 @@
   // If it is not used after definition, it is considered dead at
   // the instruction defining it. Hence its interval is:
   // [defSlot(def), defSlot(def)+1)
-  for (KillIter ki = lv_->dead_begin(mi), ke = lv_->dead_end(mi);
-       ki != ke; ++ki) {
-    if (interval.reg == ki->second) {
-      DEBUG(std::cerr << " dead");
-      end = getDefIndex(start) + 1;
-      goto exit;
-    }
+  if (lv_->RegisterDefIsDead(mi, interval.reg)) {
+    DEBUG(std::cerr << " dead");
+    end = getDefIndex(start) + 1;
+    goto exit;
   }
 
   // If it is not dead on definition, it must be killed by a
@@ -512,13 +505,10 @@
     ++mi;
     assert(mi != MBB->end() && "physreg was not killed in defining block!");
     baseIndex += InstrSlots::NUM;
-    for (KillIter ki = lv_->killed_begin(mi), ke = lv_->killed_end(mi);
-         ki != ke; ++ki) {
-      if (interval.reg == ki->second) {
-        DEBUG(std::cerr << " killed");
-        end = getUseIndex(baseIndex) + 1;
-        goto exit;
-      }
+    if (lv_->KillsRegister(mi, interval.reg)) {
+      DEBUG(std::cerr << " killed");
+      end = getUseIndex(baseIndex) + 1;
+      goto exit;
     }
   }
 






More information about the llvm-commits mailing list