summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2009-10-28 18:26:41 +0000
committerBob Wilson <bob.wilson@apple.com>2009-10-28 18:26:41 +0000
commit73789b848dbfdb20adc133434d3c1868871df984 (patch)
treea63a004983412097fc4deb4cddddab7981f3f460 /llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
parent6203c6868f5ff94366320939f4054d9b0806b645 (diff)
downloadbcm5719-llvm-73789b848dbfdb20adc133434d3c1868871df984.tar.gz
bcm5719-llvm-73789b848dbfdb20adc133434d3c1868871df984.zip
Add a Thumb BRIND pattern. Change the ARM BRIND assembly to separate the
opcode and operand with a tab. Check for these instructions in the usual places. llvm-svn: 85411
Diffstat (limited to 'llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
index a4218413a0c..6b031da1438 100644
--- a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
@@ -249,7 +249,8 @@ ARMBaseInstrInfo::AnalyzeBranch(MachineBasicBlock &MBB,MachineBasicBlock *&TBB,
// ...likewise if it ends with a branch table followed by an unconditional
// branch. The branch folder can create these, and we must get rid of them for
// correctness of Thumb constant islands.
- if (isJumpTableBranchOpcode(SecondLastOpc) &&
+ if ((isJumpTableBranchOpcode(SecondLastOpc) ||
+ isIndirectBranchOpcode(SecondLastOpc)) &&
isUncondBranchOpcode(LastOpc)) {
I = LastInst;
if (AllowModify)
OpenPOWER on IntegriCloud