Skip to content

Commit 465df35

Browse files
committed
[ARM] Use just ARM::t2B in ARMBlockPlacementPass
The ARMConstantIsland pass will convert any t2B to tB if they are within range after it has added or moved any constant pools. They don't need to be deliberately converted beforehand, and it doesn't deal with needing to convert tB to t2B very well.
1 parent d78782f commit 465df35

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

llvm/lib/Target/ARM/ARMBlockPlacement.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -237,10 +237,8 @@ void ARMBlockPlacement::moveBasicBlock(MachineBasicBlock *BB,
237237
if (!Terminator.isUnconditionalBranch()) {
238238
// The BB doesn't have an unconditional branch so it relied on
239239
// fall-through. Fix by adding an unconditional branch to the moved BB.
240-
unsigned BrOpc =
241-
BBUtils->isBBInRange(&Terminator, To, 254) ? ARM::tB : ARM::t2B;
242240
MachineInstrBuilder MIB =
243-
BuildMI(From, Terminator.getDebugLoc(), TII->get(BrOpc));
241+
BuildMI(From, Terminator.getDebugLoc(), TII->get(ARM::t2B));
244242
MIB.addMBB(To);
245243
MIB.addImm(ARMCC::CondCodes::AL);
246244
MIB.addReg(ARM::NoRegister);

llvm/test/CodeGen/Thumb2/block-placement.mir

+4-4
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ body: |
6060
; CHECK: bb.2:
6161
; CHECK: successors: %bb.3(0x80000000)
6262
; CHECK: $lr = t2WhileLoopStartLR killed renamable $r0, %bb.1, implicit-def dead $cpsr
63-
; CHECK: tB %bb.3, 14 /* CC::al */, $noreg
63+
; CHECK: t2B %bb.3, 14 /* CC::al */, $noreg
6464
; CHECK: bb.1:
6565
; CHECK: frame-destroy tPOP_RET 14 /* CC::al */, $noreg, def $r7, def $pc
6666
; CHECK: bb.3:
@@ -157,7 +157,7 @@ body: |
157157
; CHECK: $lr = tMOVr $r0, 14 /* CC::al */, $noreg
158158
; CHECK: renamable $r0 = t2ADDrs killed renamable $r2, killed $r0, 18, 14 /* CC::al */, $noreg, $noreg
159159
; CHECK: $lr = t2WhileLoopStartLR killed renamable $lr, %bb.1, implicit-def dead $cpsr
160-
; CHECK: tB %bb.3, 14 /* CC::al */, $noreg
160+
; CHECK: t2B %bb.3, 14 /* CC::al */, $noreg
161161
; CHECK: bb.1:
162162
; CHECK: successors: %bb.4(0x80000000)
163163
; CHECK: tCMPi8 renamable $r1, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr
@@ -528,7 +528,7 @@ body: |
528528
; CHECK: successors: %bb.7(0x50000000), %bb.5(0x30000000)
529529
; CHECK: liveins: $r0, $r1, $r2, $r3, $r4, $r8, $r9, $r10, $r12
530530
; CHECK: renamable $lr = t2WhileLoopStartLR killed renamable $r9, %bb.5, implicit-def dead $cpsr
531-
; CHECK: tB %bb.7, 14 /* CC::al */, $noreg
531+
; CHECK: t2B %bb.7, 14 /* CC::al */, $noreg
532532
; CHECK: bb.5:
533533
; CHECK: successors: %bb.2(0x04000000), %bb.6(0x7c000000)
534534
; CHECK: liveins: $r0, $r1, $r2, $r3, $r4, $r8, $r9, $r10, $r12
@@ -537,7 +537,7 @@ body: |
537537
; CHECK: tCMPr renamable $r4, renamable $r1, 14 /* CC::al */, $noreg, implicit-def $cpsr
538538
; CHECK: renamable $r10 = t2ADDri killed renamable $r10, 1, 14 /* CC::al */, $noreg, $noreg
539539
; CHECK: t2Bcc %bb.2, 0 /* CC::eq */, killed $cpsr
540-
; CHECK: tB %bb.6, 14 /* CC::al */, $noreg
540+
; CHECK: t2B %bb.6, 14 /* CC::al */, $noreg
541541
; CHECK: bb.7:
542542
; CHECK: successors: %bb.8(0x80000000)
543543
; CHECK: liveins: $r0, $r1, $r2, $r3, $r4, $r8, $r9, $r10, $r12

0 commit comments

Comments
 (0)