From: Evan Cheng Date: Mon, 21 May 2007 23:17:32 +0000 (+0000) Subject: Fix some -march=thumb regressions. tBR_JTr is not predicable. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=94679e66bbad22dc1a6e3e1b3f8fa9bab0db0f67;p=oota-llvm.git Fix some -march=thumb regressions. tBR_JTr is not predicable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37272 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/ARMInstrInfo.cpp b/lib/Target/ARM/ARMInstrInfo.cpp index 78f8de4d6d7..186c3dd587f 100644 --- a/lib/Target/ARM/ARMInstrInfo.cpp +++ b/lib/Target/ARM/ARMInstrInfo.cpp @@ -498,7 +498,9 @@ unsigned ARM::GetInstSize(MachineInstr *MI) { // These are jumptable branches, i.e. a branch followed by an inlined // jumptable. The size is 4 + 4 * number of entries. unsigned NumOps = TID->numOperands; - unsigned JTI = MI->getOperand(NumOps-3).getJumpTableIndex(); + MachineOperand JTOP = + MI->getOperand(NumOps - ((TID->Flags & M_PREDICABLE) ? 3 : 2)); + unsigned JTI = JTOP.getJumpTableIndex(); MachineJumpTableInfo *MJTI = MF->getJumpTableInfo(); const std::vector &JT = MJTI->getJumpTables(); assert(JTI < JT.size());