Do not dereference end iterators. It hurts when you do that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14474 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index 196d694..7569875 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -356,8 +356,7 @@
}
// 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 @@
goto exit;
}
}
- } while (mi != e);
+ }
exit:
assert(start < end && "did not find end of interval?");