Avoid dereferencing off the beginning of lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144569 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/TwoAddressInstructionPass.cpp b/lib/CodeGen/TwoAddressInstructionPass.cpp
index a702c6c..6796312 100644
--- a/lib/CodeGen/TwoAddressInstructionPass.cpp
+++ b/lib/CodeGen/TwoAddressInstructionPass.cpp
@@ -999,10 +999,8 @@
}
// Move debug info as well.
- if (From != MBB->begin()) {
- while (llvm::prior(From)->isDebugValue())
- --From;
- }
+ while (From != MBB->begin() && llvm::prior(From)->isDebugValue())
+ --From;
// Copies following MI may have been moved as well.
nmi = To;
@@ -1146,9 +1144,8 @@
// Move the old kill above MI, don't forget to move debug info as well.
MachineBasicBlock::iterator InsertPos = mi;
- if (InsertPos != MBB->begin())
- while (llvm::prior(InsertPos)->isDebugValue())
- --InsertPos;
+ while (InsertPos != MBB->begin() && llvm::prior(InsertPos)->isDebugValue())
+ --InsertPos;
MachineBasicBlock::iterator From = KillMI;
MachineBasicBlock::iterator To = llvm::next(From);
while (llvm::prior(From)->isDebugValue())