Do not dereference end iterators. It hurts when you do that.
authorChris Lattner <sabre@nondot.org>
Tue, 29 Jun 2004 06:56:51 +0000 (06:56 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 29 Jun 2004 06:56:51 +0000 (06:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14474 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LiveIntervalAnalysis.cpp

index 196d6944b7ea51e63e2f2c4ca48efafa5de73b39..7569875ad08ce10ffa342857180a0e0784e313e2 100644 (file)
@@ -356,8 +356,7 @@ void LiveIntervals::handlePhysicalRegisterDef(MachineBasicBlock* mbb,
     }
 
     // a variable can only be killed by subsequent instructions
-    do {
-        ++mi;
+    for (++mi; mi != e; ++mi) {
         baseIndex += InstrSlots::NUM;
         for (KillIter ki = lv_->killed_begin(mi), ke = lv_->killed_end(mi);
              ki != ke; ++ki) {
@@ -367,7 +366,7 @@ void LiveIntervals::handlePhysicalRegisterDef(MachineBasicBlock* mbb,
                 goto exit;
             }
         }
-    } while (mi != e);
+    }
 
 exit:
     assert(start < end && "did not find end of interval?");