Revert patches 1.79 and 1.80 which had to do with dead MBB's. Now that they
authorChris Lattner <sabre@nondot.org>
Fri, 2 Jul 2004 05:52:23 +0000 (05:52 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 2 Jul 2004 05:52:23 +0000 (05:52 +0000)
don't exist, we don't have to pretend to handle them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14567 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LiveIntervalAnalysis.cpp

index f687675c722811996672b8e6b92f6d8af93d0538..9c108056445794f36c4e1774f17ab9fb93b3b10f 100644 (file)
@@ -356,7 +356,8 @@ void LiveIntervals::handlePhysicalRegisterDef(MachineBasicBlock* mbb,
     }
 
     // a variable can only be killed by subsequent instructions
-    for (++mi; mi != e; ++mi) {
+    do {
+        ++mi;
         baseIndex += InstrSlots::NUM;
         for (KillIter ki = lv_->killed_begin(mi), ke = lv_->killed_end(mi);
              ki != ke; ++ki) {
@@ -366,13 +367,10 @@ void LiveIntervals::handlePhysicalRegisterDef(MachineBasicBlock* mbb,
                 goto exit;
             }
         }
-    }
+    } while (mi != e);
 
-    // LiveVariables does not compute information for dead basic blocks.
-    DEBUG(std::cerr << "Didn't find the end of the interval.  Must be in a "
-          "dead block.");
-    end = getDefIndex(start)+1;
 exit:
+    assert(start < end && "did not find end of interval?");
     interval.addRange(start, end);
     DEBUG(std::cerr << '\n');
 }