[llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrInfo.cpp

Evan Cheng evan.cheng at apple.com
Mon May 21 16:17:51 PDT 2007



Changes in directory llvm/lib/Target/ARM:

ARMInstrInfo.cpp updated: 1.29 -> 1.30
---
Log message:

Fix some -march=thumb regressions. tBR_JTr is not predicable.

---
Diffs of the changes:  (+3 -1)

 ARMInstrInfo.cpp |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/ARM/ARMInstrInfo.cpp
diff -u llvm/lib/Target/ARM/ARMInstrInfo.cpp:1.29 llvm/lib/Target/ARM/ARMInstrInfo.cpp:1.30
--- llvm/lib/Target/ARM/ARMInstrInfo.cpp:1.29	Mon May 21 13:56:31 2007
+++ llvm/lib/Target/ARM/ARMInstrInfo.cpp	Mon May 21 18:17:32 2007
@@ -498,7 +498,9 @@
       // 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<MachineJumpTableEntry> &JT = MJTI->getJumpTables();
       assert(JTI < JT.size());






More information about the llvm-commits mailing list