From: Evan Cheng Date: Thu, 23 Sep 2010 19:42:03 +0000 (+0000) Subject: Fix r114632. Return if the only terminator is an unconditional branch after the redun... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=676e258366dd17a0b4ee6ac66914237ce181202e;p=oota-llvm.git Fix r114632. Return if the only terminator is an unconditional branch after the redundant ones are deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114688 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/ARMBaseInstrInfo.cpp b/lib/Target/ARM/ARMBaseInstrInfo.cpp index 7786de2c265..a0f0c390609 100644 --- a/lib/Target/ARM/ARMBaseInstrInfo.cpp +++ b/lib/Target/ARM/ARMBaseInstrInfo.cpp @@ -284,9 +284,11 @@ ARMBaseInstrInfo::AnalyzeBranch(MachineBasicBlock &MBB,MachineBasicBlock *&TBB, LastInst->eraseFromParent(); LastInst = SecondLastInst; LastOpc = LastInst->getOpcode(); - if (I == MBB.begin() || !isUnpredicatedTerminator(--I)) - break; - else { + if (I == MBB.begin() || !isUnpredicatedTerminator(--I)) { + // Return now the only terminator is an unconditional branch. + TBB = LastInst->getOperand(0).getMBB(); + return false; + } else { SecondLastInst = I; SecondLastOpc = SecondLastInst->getOpcode(); }