From: Evan Cheng Date: Mon, 14 Nov 2011 21:11:15 +0000 (+0000) Subject: Avoid dereferencing off the beginning of lists. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8aee7d8f9eab71a29f8f3a5a541144bef4fb5ac4;p=oota-llvm.git 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 a702c6c8407..67963126491 100644 --- a/lib/CodeGen/TwoAddressInstructionPass.cpp +++ b/lib/CodeGen/TwoAddressInstructionPass.cpp @@ -999,10 +999,8 @@ TwoAddressInstructionPass::RescheduleMIBelowKill(MachineBasicBlock *MBB, } // 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 @@ TwoAddressInstructionPass::RescheduleKillAboveMI(MachineBasicBlock *MBB, // 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())