diff --git a/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp b/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp --- a/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp +++ b/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp @@ -116,6 +116,7 @@ continue; if (I->getOpcode() != MSP430::JMP && I->getOpcode() != MSP430::JCC && + I->getOpcode() != MSP430::Bi && I->getOpcode() != MSP430::Br && I->getOpcode() != MSP430::Bm) break; @@ -189,7 +190,7 @@ return true; // Handle unconditional branches. - if (I->getOpcode() == MSP430::JMP) { + if (I->getOpcode() == MSP430::JMP || I->getOpcode() == MSP430::Bi) { if (!AllowModify) { TBB = I->getOperand(0).getMBB(); continue;