diff options
Diffstat (limited to 'lib/Target/ARM/ARMConstantIslandPass.cpp')
-rw-r--r-- | lib/Target/ARM/ARMConstantIslandPass.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/Target/ARM/ARMConstantIslandPass.cpp b/lib/Target/ARM/ARMConstantIslandPass.cpp index 13b812ca1a..1b936312c0 100644 --- a/lib/Target/ARM/ARMConstantIslandPass.cpp +++ b/lib/Target/ARM/ARMConstantIslandPass.cpp @@ -740,14 +740,11 @@ void ARMConstantIslands::AdjustBBOffsetsAfter(MachineBasicBlock *BB, delta -= 2; } } - // Thumb jump tables require padding. They can be at the end, or - // followed by an unconditional branch. + // Thumb jump tables require padding. They should be at the end; + // following unconditional branches are removed by AnalyzeBranch. MachineInstr *ThumbJTMI = NULL; if (prior(MBB->end())->getOpcode() == ARM::tBR_JTr) ThumbJTMI = prior(MBB->end()); - else if (prior(MBB->end()) != MBB->begin() && - prior(prior(MBB->end()))->getOpcode() == ARM::tBR_JTr) - ThumbJTMI = prior(prior(MBB->end())); if (ThumbJTMI) { unsigned newMIOffset = GetOffsetOf(ThumbJTMI); unsigned oldMIOffset = newMIOffset - delta; |