Skip to content

Commit 9274755

Browse files
committed
[ARM][NFC] Use addLiveIns method instead of manually adding live-ins
1 parent 6d48496 commit 9274755

File tree

3 files changed

+65
-53
lines changed

3 files changed

+65
-53
lines changed

llvm/lib/Target/ARM/ARMConstantIslandPass.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,10 +1025,7 @@ MachineBasicBlock *ARMConstantIslands::splitBlockBeforeInstr(MachineInstr *MI) {
10251025
OrigBB->addSuccessor(NewBB);
10261026

10271027
// Update live-in information in the new block.
1028-
MachineRegisterInfo &MRI = MF->getRegInfo();
1029-
for (MCPhysReg L : LRs)
1030-
if (!MRI.isReserved(L))
1031-
NewBB->addLiveIn(L);
1028+
addLiveIns(*NewBB, LRs);
10321029

10331030
// Update internal data structures to account for the newly inserted MBB.
10341031
// This is almost the same as updateForInsertedWaterBlock, except that

llvm/test/CodeGen/ARM/constant-island-movwt.mir

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -898,13 +898,9 @@ body: |
898898
# CHECK-NEXT: CONSTPOOL_ENTRY 1, %const.0, 4
899899
# CHECK-NEXT: {{^ $}}
900900
# CHECK-NEXT: bb.2.entry (align 2):
901-
# CHECK-NEXT: liveins: $d13, $s27, $r10, $r9, $r8, $s26, $d12, $s25, $s24,
902-
# CHECK-SAME: $d15, $s30, $s31, $d14, $s28, $s29, $lr, $r0, $d21,
903-
# CHECK-SAME: $r3, $q10, $d20, $d17, $r2, $d25, $q11, $d22, $d23,
904-
# CHECK-SAME: $r1, $q8, $d16, $s3, $q14, $d28, $d29, $d19, $s17,
905-
# CHECK-SAME: $d8, $s16, $r6, $r7, $r4, $q12, $q9, $d18, $s0, $q15,
906-
# CHECK-SAME: $d30, $d31, $r12, $s1, $d0, $d24, $s2, $d1, $q0, $s6,
907-
# CHECK-SAME: $d3, $d2, $s4, $q1, $s7, $s5, $d9, $s18, $s19, $q4
901+
# CHECK-NEXT: liveins: $d13, $r10, $r9, $r8, $d12, $d15, $d14, $lr, $r0,
902+
# CHECK-SAME: $r3, $q10, $r2, $q11, $r1, $q8, $q14, $r6, $r7,
903+
# CHECK-SAME: $r4, $q12, $q9, $q15, $r12, $q0, $q1, $q4
908904
# CHECK-NEXT: {{^ $}}
909905
# CHECK-NEXT: $r5 = t2MOVi16 target-flags(arm-lo16) @.str.84, 14 /* CC::al */, $noreg
910906
# CHECK-NEXT: $r5 = t2MOVTi16 $r5, target-flags(arm-hi16) @.str.84, 14 /* CC::al */, $noreg

llvm/test/CodeGen/ARM/constant-islands-split-IT.mir

Lines changed: 61 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -69,48 +69,67 @@ machineFunctionInfo: {}
6969
body: |
7070
; CHECK-LABEL: name: h
7171
; CHECK: bb.0:
72-
; CHECK: successors: %bb.4(0x80000000)
73-
; CHECK: renamable $d0 = VLDRD %const.3, 0, 14 /* CC::al */, $noreg :: (load (s64) from constant-pool)
74-
; CHECK: dead renamable $r0 = SPACE 40, undef renamable $r0
75-
; CHECK: tB %bb.4, 14 /* CC::al */, $noreg
76-
; CHECK: bb.1 (align 8):
77-
; CHECK: successors:
78-
; CHECK: CONSTPOOL_ENTRY 3, %const.0, 8
79-
; CHECK: bb.2:
80-
; CHECK: successors:
81-
; CHECK: bb.3 (align 8):
82-
; CHECK: successors:
83-
; CHECK: CONSTPOOL_ENTRY 5, %const.2, 8
84-
; CHECK: bb.4 (align 2):
85-
; CHECK: successors: %bb.5(0x80000000)
86-
; CHECK: dead renamable $r0 = SPACE 790, undef renamable $r0
87-
; CHECK: bb.5:
88-
; CHECK: successors: %bb.7(0x80000000)
89-
; CHECK: renamable $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
90-
; CHECK: t2CMPri $r0, 32, 14 /* CC::al */, $noreg, implicit-def $cpsr
91-
; CHECK: renamable $r0 = SPACE 200, undef renamable $r0
92-
; CHECK: t2IT 0, 1, implicit-def $itstate
93-
; CHECK: renamable $d0 = VLDRD %const.7, 0, 0 /* CC::eq */, $cpsr, implicit $itstate :: (load (s64) from constant-pool)
94-
; CHECK: renamable $d1 = VLDRD %const.5, 0, 0 /* CC::eq */, $cpsr, implicit $itstate :: (load (s64) from constant-pool)
95-
; CHECK: renamable $d2 = VLDRD %const.6, 0, 0 /* CC::eq */, $cpsr, implicit $itstate :: (load (s64) from constant-pool)
96-
; CHECK: $r0 = t2SUBri $r0, 12, 0 /* CC::eq */, $cpsr, $noreg, implicit killed $itstate
97-
; CHECK: t2B %bb.7, 14 /* CC::al */, $noreg
98-
; CHECK: bb.6 (align 8):
99-
; CHECK: successors:
100-
; CHECK: CONSTPOOL_ENTRY 7, %const.1, 8
101-
; CHECK: bb.7 (align 2):
102-
; CHECK: liveins: $r0, $cpsr, $d0, $s0, $s1, $d1, $s2, $s3, $d2, $s4, $s5
103-
; CHECK: t2IT 0, 4, implicit-def $itstate
104-
; CHECK: $sp = tMOVr $r0, 0 /* CC::eq */, $cpsr, implicit $itstate
105-
; CHECK: $sp = t2LDMIA_RET $sp, 0 /* CC::eq */, killed $cpsr, def $r4, def $r5, def $r6, def $r7, def $r8, def $r9, def $r10, def $r11, def $pc, implicit killed $d0, implicit killed $d1, implicit killed $d2, implicit $sp, implicit killed $itstate
106-
; CHECK: bb.8 (align 8):
107-
; CHECK: successors:
108-
; CHECK: CONSTPOOL_ENTRY 6, %const.0, 8
109-
; CHECK: bb.9 (align 2):
110-
; CHECK: successors: %bb.9(0x80000000)
111-
; CHECK: dead renamable $r0 = SPACE 4000, undef renamable $r0
112-
; CHECK: t2B %bb.9, 14 /* CC::al */, $noreg
113-
; CHECK: bb.10:
72+
; CHECK-NEXT: successors: %bb.4(0x80000000)
73+
; CHECK-NEXT: {{ $}}
74+
; CHECK-NEXT: renamable $d0 = VLDRD %const.3, 0, 14 /* CC::al */, $noreg :: (load (s64) from constant-pool)
75+
; CHECK-NEXT: dead renamable $r0 = SPACE 40, undef renamable $r0
76+
; CHECK-NEXT: tB %bb.4, 14 /* CC::al */, $noreg
77+
; CHECK-NEXT: {{ $}}
78+
; CHECK-NEXT: bb.1 (align 8):
79+
; CHECK-NEXT: successors:
80+
; CHECK-NEXT: {{ $}}
81+
; CHECK-NEXT: CONSTPOOL_ENTRY 3, %const.0, 8
82+
; CHECK-NEXT: {{ $}}
83+
; CHECK-NEXT: bb.2:
84+
; CHECK-NEXT: successors:
85+
; CHECK-NEXT: {{ $}}
86+
; CHECK-NEXT: bb.3 (align 8):
87+
; CHECK-NEXT: successors:
88+
; CHECK-NEXT: {{ $}}
89+
; CHECK-NEXT: CONSTPOOL_ENTRY 5, %const.2, 8
90+
; CHECK-NEXT: {{ $}}
91+
; CHECK-NEXT: bb.4 (align 2):
92+
; CHECK-NEXT: successors: %bb.5(0x80000000)
93+
; CHECK-NEXT: {{ $}}
94+
; CHECK-NEXT: dead renamable $r0 = SPACE 790, undef renamable $r0
95+
; CHECK-NEXT: {{ $}}
96+
; CHECK-NEXT: bb.5:
97+
; CHECK-NEXT: successors: %bb.7(0x80000000)
98+
; CHECK-NEXT: {{ $}}
99+
; CHECK-NEXT: renamable $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
100+
; CHECK-NEXT: t2CMPri $r0, 32, 14 /* CC::al */, $noreg, implicit-def $cpsr
101+
; CHECK-NEXT: renamable $r0 = SPACE 200, undef renamable $r0
102+
; CHECK-NEXT: t2IT 0, 1, implicit-def $itstate
103+
; CHECK-NEXT: renamable $d0 = VLDRD %const.7, 0, 0 /* CC::eq */, $cpsr, implicit $itstate :: (load (s64) from constant-pool)
104+
; CHECK-NEXT: renamable $d1 = VLDRD %const.5, 0, 0 /* CC::eq */, $cpsr, implicit $itstate :: (load (s64) from constant-pool)
105+
; CHECK-NEXT: renamable $d2 = VLDRD %const.6, 0, 0 /* CC::eq */, $cpsr, implicit $itstate :: (load (s64) from constant-pool)
106+
; CHECK-NEXT: $r0 = t2SUBri $r0, 12, 0 /* CC::eq */, $cpsr, $noreg, implicit killed $itstate
107+
; CHECK-NEXT: t2B %bb.7, 14 /* CC::al */, $noreg
108+
; CHECK-NEXT: {{ $}}
109+
; CHECK-NEXT: bb.6 (align 8):
110+
; CHECK-NEXT: successors:
111+
; CHECK-NEXT: {{ $}}
112+
; CHECK-NEXT: CONSTPOOL_ENTRY 7, %const.1, 8
113+
; CHECK-NEXT: {{ $}}
114+
; CHECK-NEXT: bb.7 (align 2):
115+
; CHECK-NEXT: liveins: $r0, $cpsr, $d0, $d1, $d2
116+
; CHECK-NEXT: {{ $}}
117+
; CHECK-NEXT: t2IT 0, 4, implicit-def $itstate
118+
; CHECK-NEXT: $sp = tMOVr $r0, 0 /* CC::eq */, $cpsr, implicit $itstate
119+
; CHECK-NEXT: $sp = t2LDMIA_RET $sp, 0 /* CC::eq */, killed $cpsr, def $r4, def $r5, def $r6, def $r7, def $r8, def $r9, def $r10, def $r11, def $pc, implicit killed $d0, implicit killed $d1, implicit killed $d2, implicit $sp, implicit killed $itstate
120+
; CHECK-NEXT: {{ $}}
121+
; CHECK-NEXT: bb.8 (align 8):
122+
; CHECK-NEXT: successors:
123+
; CHECK-NEXT: {{ $}}
124+
; CHECK-NEXT: CONSTPOOL_ENTRY 6, %const.0, 8
125+
; CHECK-NEXT: {{ $}}
126+
; CHECK-NEXT: bb.9 (align 2):
127+
; CHECK-NEXT: successors: %bb.9(0x80000000)
128+
; CHECK-NEXT: {{ $}}
129+
; CHECK-NEXT: dead renamable $r0 = SPACE 4000, undef renamable $r0
130+
; CHECK-NEXT: t2B %bb.9, 14 /* CC::al */, $noreg
131+
; CHECK-NEXT: {{ $}}
132+
; CHECK-NEXT: bb.10:
114133
bb.0:
115134
successors: %bb.1(0x80000000)
116135

0 commit comments

Comments
 (0)