Fix a bug in DEBUG_VALUE handling Devang ran into.
authorDale Johannesen <dalej@apple.com>
Wed, 10 Mar 2010 15:06:26 +0000 (15:06 +0000)
committerDale Johannesen <dalej@apple.com>
Wed, 10 Mar 2010 15:06:26 +0000 (15:06 +0000)
I'll get this loop right yet.

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

lib/CodeGen/LiveIntervalAnalysis.cpp

index ccda66f0054e51974b2e1fc65e6010e5d472004b..f8b17074595930bff33e5acbfef0ce75e2253e8c 100644 (file)
@@ -593,13 +593,10 @@ void LiveIntervals::handleLiveInRegister(MachineBasicBlock *MBB,
 
   MachineBasicBlock::iterator E = MBB->end();  
   while (mi != E) {
-    if (mi->isDebugValue()) {
+    while (mi != E && mi->isDebugValue())
       ++mi;
-      if (mi != E && !mi->isDebugValue()) {
-        baseIndex = indexes_->getNextNonNullIndex(baseIndex);
-      }
-      continue;
-    }
+    if (mi == E)
+      break;
     if (mi->killsRegister(interval.reg, tri_)) {
       DEBUG(dbgs() << " killed");
       end = baseIndex.getDefIndex();