diff --git a/lib/CodeGen/MachineBasicBlock.cpp b/lib/CodeGen/MachineBasicBlock.cpp index b5904443a8b..813fad288e8 100644 --- a/lib/CodeGen/MachineBasicBlock.cpp +++ b/lib/CodeGen/MachineBasicBlock.cpp @@ -155,22 +155,11 @@ MachineBasicBlock::SkipPHIsAndLabels(MachineBasicBlock::iterator I) { } MachineBasicBlock::iterator MachineBasicBlock::getFirstTerminator() { - iterator B = begin(), I = end(); - iterator Term = I; - while (I != B) { - --I; - // Ignore any debug values after the first terminator. - if (I->isDebugValue()) - continue; - // Stop once we see a non-debug non-terminator. - if (!I->getDesc().isTerminator()) - break; - // Earliest terminator so far. - Term = I; - } - // Return the first terminator, or end(). - // Everything after Term is terminators and debug values. - return Term; + iterator I = end(); + while (I != begin() && (--I)->getDesc().isTerminator()) + ; /*noop */ + if (I != end() && !I->getDesc().isTerminator()) ++I; + return I; } void MachineBasicBlock::dump() const { diff --git a/lib/CodeGen/PHIElimination.cpp b/lib/CodeGen/PHIElimination.cpp index 81ae3618eeb..923fa213e7b 100644 --- a/lib/CodeGen/PHIElimination.cpp +++ b/lib/CodeGen/PHIElimination.cpp @@ -339,8 +339,6 @@ void PHIElimination::LowerAtomicPHINode( #ifndef NDEBUG for (MachineBasicBlock::iterator TI = llvm::next(Term); TI != opBlock.end(); ++TI) { - if (TI->isDebugValue()) - continue; assert(!TI->readsRegister(SrcReg) && "Terminator instructions cannot use virtual registers unless" "they are the first terminator in a block!");