xref: /llvm-project/llvm/test/CodeGen/ARM/block-order.mir (revision f0bd705c9b6bd59496b44934a893a5b74085a376)
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
2# RUN: llc -o - %s -mtriple=thumbv7em-arm-none-eabihf -run-pass=block-placement -verify-machineinstrs | FileCheck %s
3# RUN: llc -o - %s -mtriple=thumbv7em-arm-none-eabihf -run-pass=block-placement -force-loop-cold-block -verify-machineinstrs | FileCheck %s
4---
5name:            fn
6tracksRegLiveness: true
7jumpTable:
8  kind:            inline
9  entries:
10    - id:              0
11      blocks:          [ '%bb.7', '%bb.16', '%bb.25', '%bb.32' ]
12body:             |
13  ; CHECK-LABEL: name: fn
14  ; CHECK: bb.0:
15  ; CHECK-NEXT:   successors: %bb.1(0x5c0b8170), %bb.2(0x23f47e90)
16  ; CHECK-NEXT:   liveins: $r0, $r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11, $lr
17  ; CHECK-NEXT: {{  $}}
18  ; CHECK-NEXT:   $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $r7, killed $r8, killed $r9, killed $r10, killed $r11, killed $lr
19  ; CHECK-NEXT:   $sp = frame-setup tSUBspi $sp, 3, 14 /* CC::al */, $noreg
20  ; CHECK-NEXT:   $r5 = tMOVr $r1, 14 /* CC::al */, $noreg
21  ; CHECK-NEXT:   renamable $r1 = nsw t2SUBri killed $r1, 1, 14 /* CC::al */, $noreg, $noreg
22  ; CHECK-NEXT:   renamable $r7 = t2ASRri renamable $r1, 31, 14 /* CC::al */, $noreg, $noreg
23  ; CHECK-NEXT:   $r0 = tMOVr $r3, 14 /* CC::al */, $noreg
24  ; CHECK-NEXT:   $r8 = tMOVr $r2, 14 /* CC::al */, $noreg
25  ; CHECK-NEXT:   renamable $r1 = t2ADDrs killed renamable $r1, killed renamable $r7, 235, 14 /* CC::al */, $noreg, $noreg
26  ; CHECK-NEXT:   renamable $r7 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg
27  ; CHECK-NEXT:   $r9 = tMOVr killed $r3, 14 /* CC::al */, $noreg
28  ; CHECK-NEXT:   renamable $r4 = nuw nsw t2ADDrs killed renamable $r7, killed renamable $r1, 25, 14 /* CC::al */, $noreg, $noreg
29  ; CHECK-NEXT:   renamable $r1 = nuw nsw t2MUL renamable $r4, killed $r2, 14 /* CC::al */, $noreg
30  ; CHECK-NEXT:   t2CMPri renamable $r5, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr
31  ; CHECK-NEXT:   t2Bcc %bb.2, 10 /* CC::ge */, killed $cpsr
32  ; CHECK-NEXT: {{  $}}
33  ; CHECK-NEXT: bb.1:
34  ; CHECK-NEXT:   $sp = frame-destroy tADDspi $sp, 3, 14 /* CC::al */, $noreg
35  ; CHECK-NEXT:   $sp = frame-destroy t2LDMIA_RET $sp, 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $r7, def $r8, def $r9, def $r10, def $r11, def $pc
36  ; CHECK-NEXT: {{  $}}
37  ; CHECK-NEXT: bb.2:
38  ; CHECK-NEXT:   successors: %bb.4(0x80000000)
39  ; CHECK-NEXT:   liveins: $r1, $r4, $r5, $r8, $r9
40  ; CHECK-NEXT: {{  $}}
41  ; CHECK-NEXT:   renamable $r0 = t2ASRri renamable $r1, 31, 14 /* CC::al */, $noreg, $noreg
42  ; CHECK-NEXT:   $lr = tMOVr killed $r5, 14 /* CC::al */, $noreg
43  ; CHECK-NEXT:   renamable $r10 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
44  ; CHECK-NEXT:   renamable $r2 = t2ADDrs renamable $r1, killed renamable $r0, 235, 14 /* CC::al */, $noreg, $noreg
45  ; CHECK-NEXT:   renamable $r0 = nuw nsw t2LSLri killed renamable $r4, 3, 14 /* CC::al */, $noreg, $noreg
46  ; CHECK-NEXT:   renamable $r2 = t2BICri killed renamable $r2, 7, 14 /* CC::al */, $noreg, $noreg
47  ; CHECK-NEXT:   renamable $r1 = nsw t2MUL renamable $r0, killed renamable $r1, 14 /* CC::al */, $noreg
48  ; CHECK-NEXT:   t2B %bb.4, 14 /* CC::al */, $noreg
49  ; CHECK-NEXT: {{  $}}
50  ; CHECK-NEXT: bb.3:
51  ; CHECK-NEXT:   successors: %bb.1(0x04000000), %bb.4(0x7c000000)
52  ; CHECK-NEXT:   liveins: $lr, $r0, $r8, $r9, $r10
53  ; CHECK-NEXT: {{  $}}
54  ; CHECK-NEXT:   t2CMPrr renamable $r10, renamable $lr, 14 /* CC::al */, $noreg, implicit-def $cpsr
55  ; CHECK-NEXT:   t2Bcc %bb.1, 0 /* CC::eq */, killed $cpsr
56  ; CHECK-NEXT: {{  $}}
57  ; CHECK-NEXT: bb.4:
58  ; CHECK-NEXT:   successors: %bb.7(0x80000000)
59  ; CHECK-NEXT:   liveins: $lr, $r0, $r8, $r9, $r10
60  ; CHECK-NEXT: {{  $}}
61  ; CHECK-NEXT:   renamable $r1 = t2LDRi12 $sp, 4, 14 /* CC::al */, $noreg
62  ; CHECK-NEXT:   renamable $r7 = t2LDRi12 $sp, 8, 14 /* CC::al */, $noreg
63  ; CHECK-NEXT:   renamable $r4 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
64  ; CHECK-NEXT:   renamable $r1 = t2MUL renamable $r10, killed renamable $r1, 14 /* CC::al */, $noreg
65  ; CHECK-NEXT:   renamable $r2 = t2ASRri renamable $r1, 31, 14 /* CC::al */, $noreg, $noreg
66  ; CHECK-NEXT:   renamable $r3 = t2ADDrs renamable $r1, renamable $r2, 219, 14 /* CC::al */, $noreg, $noreg
67  ; CHECK-NEXT:   renamable $r7 = t2LDRi12 $sp, 0, 14 /* CC::al */, $noreg
68  ; CHECK-NEXT:   t2B %bb.7, 14 /* CC::al */, $noreg
69  ; CHECK-NEXT: {{  $}}
70  ; CHECK-NEXT: bb.29:
71  ; CHECK-NEXT:   successors: %bb.30(0x80000000)
72  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
73  ; CHECK-NEXT: {{  $}}
74  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
75  ; CHECK-NEXT: {{  $}}
76  ; CHECK-NEXT: bb.30:
77  ; CHECK-NEXT:   successors: %bb.32(0x80000000)
78  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
79  ; CHECK-NEXT: {{  $}}
80  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
81  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, $noreg
82  ; CHECK-NEXT: {{  $}}
83  ; CHECK-NEXT: bb.32:
84  ; CHECK-NEXT:   successors: %bb.7(0x7c000000), %bb.3(0x04000000)
85  ; CHECK-NEXT:   liveins: $lr, $r0, $r10, $r2, $r4, $r7, $r8, $r9
86  ; CHECK-NEXT: {{  $}}
87  ; CHECK-NEXT:   renamable $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
88  ; CHECK-NEXT:   t2CMPrr renamable $r4, renamable $r8, 14 /* CC::al */, $noreg, implicit-def $cpsr
89  ; CHECK-NEXT:   t2Bcc %bb.7, 11 /* CC::lt */, killed $cpsr
90  ; CHECK-NEXT:   t2B %bb.3, 14 /* CC::al */, $noreg
91  ; CHECK-NEXT: {{  $}}
92  ; CHECK-NEXT: bb.5:
93  ; CHECK-NEXT:   successors: %bb.7(0x7c000000), %bb.3(0x04000000)
94  ; CHECK-NEXT:   liveins: $lr, $r0, $r1, $r2, $r4, $r7, $r8, $r9, $r10
95  ; CHECK-NEXT: {{  $}}
96  ; CHECK-NEXT:   renamable $r7 = t2MLA renamable $r1, renamable $r0, killed renamable $r7, 14 /* CC::al */, $noreg
97  ; CHECK-NEXT:   t2CMPrr renamable $r4, renamable $r8, 14 /* CC::al */, $noreg, implicit-def $cpsr
98  ; CHECK-NEXT:   t2Bcc %bb.3, 10 /* CC::ge */, killed $cpsr
99  ; CHECK-NEXT: {{  $}}
100  ; CHECK-NEXT: bb.7:
101  ; CHECK-NEXT:   successors: %bb.5(0x30000000), %bb.8(0x50000000)
102  ; CHECK-NEXT:   liveins: $lr, $r0, $r1, $r2, $r4, $r7, $r8, $r9, $r10
103  ; CHECK-NEXT: {{  $}}
104  ; CHECK-NEXT:   renamable $r3, renamable $r2 = t2LDR_POST killed renamable $r2, 4, 14 /* CC::al */, $noreg
105  ; CHECK-NEXT:   t2CMPri renamable $r3, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr
106  ; CHECK-NEXT:   t2Bcc %bb.5, 0 /* CC::eq */, killed $cpsr
107  ; CHECK-NEXT: {{  $}}
108  ; CHECK-NEXT: bb.8:
109  ; CHECK-NEXT:   successors: %bb.32(0x19999998), %bb.9(0x66666668)
110  ; CHECK-NEXT:   liveins: $lr, $r0, $r1, $r2, $r3, $r4, $r7, $r8, $r9, $r10
111  ; CHECK-NEXT: {{  $}}
112  ; CHECK-NEXT:   renamable $r1 = t2RORri killed renamable $r1, 3, 14 /* CC::al */, $noreg, $noreg
113  ; CHECK-NEXT:   t2CMPri renamable $r1, 3, 14 /* CC::al */, $noreg, implicit-def $cpsr
114  ; CHECK-NEXT:   t2Bcc %bb.32, 8 /* CC::hi */, killed $cpsr
115  ; CHECK-NEXT: {{  $}}
116  ; CHECK-NEXT: bb.9:
117  ; CHECK-NEXT:   successors: %bb.10(0x20000000), %bb.17(0x20000000), %bb.24(0x20000000), %bb.30(0x20000000)
118  ; CHECK-NEXT:   liveins: $lr, $r0, $r1, $r2, $r3, $r4, $r7, $r8, $r9, $r10
119  ; CHECK-NEXT: {{  $}}
120  ; CHECK-NEXT:   renamable $r12 = t2LEApcrelJT %jump-table.0, 14 /* CC::al */, $noreg
121  ; CHECK-NEXT:   renamable $r5 = t2ADDrs killed renamable $r12, renamable $r1, 18, 14 /* CC::al */, $noreg, $noreg
122  ; CHECK-NEXT:   t2BR_JT killed renamable $r5, killed renamable $r1, %jump-table.0
123  ; CHECK-NEXT: {{  $}}
124  ; CHECK-NEXT: bb.10:
125  ; CHECK-NEXT:   successors: %bb.12(0x40000000), %bb.11(0x40000000)
126  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
127  ; CHECK-NEXT: {{  $}}
128  ; CHECK-NEXT:   dead renamable $r1 = t2LSLri renamable $r3, 31, 14 /* CC::al */, $noreg, def $cpsr
129  ; CHECK-NEXT:   t2Bcc %bb.12, 0 /* CC::eq */, killed $cpsr
130  ; CHECK-NEXT: {{  $}}
131  ; CHECK-NEXT: bb.11:
132  ; CHECK-NEXT:   successors: %bb.12(0x80000000)
133  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
134  ; CHECK-NEXT: {{  $}}
135  ; CHECK-NEXT:   renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
136  ; CHECK-NEXT:   renamable $r5 = t2ASRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
137  ; CHECK-NEXT: {{  $}}
138  ; CHECK-NEXT: bb.12:
139  ; CHECK-NEXT:   successors: %bb.32(0x30000000), %bb.13(0x50000000)
140  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
141  ; CHECK-NEXT: {{  $}}
142  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
143  ; CHECK-NEXT:   t2Bcc %bb.32, 4 /* CC::mi */, killed $cpsr
144  ; CHECK-NEXT: {{  $}}
145  ; CHECK-NEXT: bb.13:
146  ; CHECK-NEXT:   successors: %bb.15(0x40000000), %bb.14(0x40000000)
147  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
148  ; CHECK-NEXT: {{  $}}
149  ; CHECK-NEXT:   dead renamable $r1 = t2LSLri renamable $r3, 30, 14 /* CC::al */, $noreg, def $cpsr
150  ; CHECK-NEXT:   t2Bcc %bb.15, 5 /* CC::pl */, killed $cpsr
151  ; CHECK-NEXT: {{  $}}
152  ; CHECK-NEXT: bb.14:
153  ; CHECK-NEXT:   successors: %bb.15(0x80000000)
154  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
155  ; CHECK-NEXT: {{  $}}
156  ; CHECK-NEXT:   renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
157  ; CHECK-NEXT:   renamable $r6 = t2LSRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
158  ; CHECK-NEXT: {{  $}}
159  ; CHECK-NEXT: bb.15:
160  ; CHECK-NEXT:   successors: %bb.32(0x30000000), %bb.17(0x50000000)
161  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
162  ; CHECK-NEXT: {{  $}}
163  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
164  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
165  ; CHECK-NEXT:   t2Bcc %bb.32, 4 /* CC::mi */, killed $cpsr
166  ; CHECK-NEXT: {{  $}}
167  ; CHECK-NEXT: bb.17:
168  ; CHECK-NEXT:   successors: %bb.19(0x40000000), %bb.18(0x40000000)
169  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
170  ; CHECK-NEXT: {{  $}}
171  ; CHECK-NEXT:   dead renamable $r1 = t2LSLri renamable $r3, 23, 14 /* CC::al */, $noreg, def $cpsr
172  ; CHECK-NEXT:   t2Bcc %bb.19, 5 /* CC::pl */, killed $cpsr
173  ; CHECK-NEXT: {{  $}}
174  ; CHECK-NEXT: bb.18:
175  ; CHECK-NEXT:   successors: %bb.19(0x80000000)
176  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
177  ; CHECK-NEXT: {{  $}}
178  ; CHECK-NEXT:   renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
179  ; CHECK-NEXT:   renamable $r6 = t2ASRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
180  ; CHECK-NEXT: {{  $}}
181  ; CHECK-NEXT: bb.19:
182  ; CHECK-NEXT:   successors: %bb.32(0x30000000), %bb.20(0x50000000)
183  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
184  ; CHECK-NEXT: {{  $}}
185  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
186  ; CHECK-NEXT:   t2Bcc %bb.32, 4 /* CC::mi */, killed $cpsr
187  ; CHECK-NEXT: {{  $}}
188  ; CHECK-NEXT: bb.20:
189  ; CHECK-NEXT:   successors: %bb.22(0x40000000), %bb.21(0x40000000)
190  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
191  ; CHECK-NEXT: {{  $}}
192  ; CHECK-NEXT:   dead renamable $r1 = t2LSLri renamable $r3, 22, 14 /* CC::al */, $noreg, def $cpsr
193  ; CHECK-NEXT:   t2Bcc %bb.22, 5 /* CC::pl */, killed $cpsr
194  ; CHECK-NEXT: {{  $}}
195  ; CHECK-NEXT: bb.21:
196  ; CHECK-NEXT:   successors: %bb.22(0x80000000)
197  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
198  ; CHECK-NEXT: {{  $}}
199  ; CHECK-NEXT:   renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
200  ; CHECK-NEXT:   renamable $r6 = t2LSRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
201  ; CHECK-NEXT: {{  $}}
202  ; CHECK-NEXT: bb.22:
203  ; CHECK-NEXT:   successors: %bb.32(0x30000000), %bb.24(0x50000000)
204  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
205  ; CHECK-NEXT: {{  $}}
206  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
207  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
208  ; CHECK-NEXT:   t2Bcc %bb.32, 4 /* CC::mi */, killed $cpsr
209  ; CHECK-NEXT: {{  $}}
210  ; CHECK-NEXT: bb.24:
211  ; CHECK-NEXT:   successors: %bb.26(0x40000000), %bb.25(0x40000000)
212  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
213  ; CHECK-NEXT: {{  $}}
214  ; CHECK-NEXT:   dead renamable $r1 = t2LSLri renamable $r3, 15, 14 /* CC::al */, $noreg, def $cpsr
215  ; CHECK-NEXT:   t2Bcc %bb.26, 5 /* CC::pl */, killed $cpsr
216  ; CHECK-NEXT: {{  $}}
217  ; CHECK-NEXT: bb.25:
218  ; CHECK-NEXT:   successors: %bb.26(0x80000000)
219  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
220  ; CHECK-NEXT: {{  $}}
221  ; CHECK-NEXT:   renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
222  ; CHECK-NEXT:   renamable $r6 = t2ASRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
223  ; CHECK-NEXT: {{  $}}
224  ; CHECK-NEXT: bb.26:
225  ; CHECK-NEXT:   successors: %bb.32(0x30000000), %bb.27(0x50000000)
226  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
227  ; CHECK-NEXT: {{  $}}
228  ; CHECK-NEXT:   renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
229  ; CHECK-NEXT:   t2Bcc %bb.32, 4 /* CC::mi */, killed $cpsr
230  ; CHECK-NEXT: {{  $}}
231  ; CHECK-NEXT: bb.27:
232  ; CHECK-NEXT:   successors: %bb.29(0x40000000), %bb.28(0x40000000)
233  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
234  ; CHECK-NEXT: {{  $}}
235  ; CHECK-NEXT:   dead renamable $r1 = t2LSLri renamable $r3, 14, 14 /* CC::al */, $noreg, def $cpsr
236  ; CHECK-NEXT:   t2Bcc %bb.29, 5 /* CC::pl */, killed $cpsr
237  ; CHECK-NEXT: {{  $}}
238  ; CHECK-NEXT: bb.28:
239  ; CHECK-NEXT:   successors: %bb.29(0x80000000)
240  ; CHECK-NEXT:   liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
241  ; CHECK-NEXT: {{  $}}
242  ; CHECK-NEXT:   renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
243  ; CHECK-NEXT:   renamable $r6 = t2LSRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
244  ; CHECK-NEXT:   t2B %bb.29, 14 /* CC::al */, $noreg
245  bb.0:
246    successors: %bb.37(0x80000000), %bb.1(0x32000000)
247    liveins: $r0, $r1, $r2, $r3, $r4, $r5, $r6, $r7, $r8, $r9, $r10, $r11, $lr
248
249    $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r4, killed $r5, killed $r6, killed $r7, killed $r8, killed $r9, killed $r10, killed $r11, killed $lr
250    $sp = frame-setup tSUBspi $sp, 3, 14 /* CC::al */, $noreg
251    $r5 = tMOVr $r1, 14 /* CC::al */, $noreg
252    renamable $r1 = nsw t2SUBri killed $r1, 1, 14 /* CC::al */, $noreg, $noreg
253    renamable $r7 = t2ASRri renamable $r1, 31, 14 /* CC::al */, $noreg, $noreg
254    $r0 = tMOVr $r3, 14 /* CC::al */, $noreg
255    $r8 = tMOVr $r2, 14 /* CC::al */, $noreg
256    renamable $r1 = t2ADDrs killed renamable $r1, killed renamable $r7, 235, 14 /* CC::al */, $noreg, $noreg
257    renamable $r7 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg
258    $r9 = tMOVr killed $r3, 14 /* CC::al */, $noreg
259    renamable $r4 = nuw nsw t2ADDrs killed renamable $r7, killed renamable $r1, 25, 14 /* CC::al */, $noreg, $noreg
260    renamable $r1 = nuw nsw t2MUL renamable $r4, killed $r2, 14 /* CC::al */, $noreg
261    t2CMPri renamable $r5, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr
262    t2Bcc %bb.37, 11 /* CC::lt */, killed $cpsr
263
264  bb.1:
265    successors: %bb.2(0x80000000)
266    liveins: $r1, $r4, $r5, $r8, $r9
267
268    renamable $r0 = t2ASRri renamable $r1, 31, 14 /* CC::al */, $noreg, $noreg
269    $lr = tMOVr killed $r5, 14 /* CC::al */, $noreg
270    renamable $r10 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
271    renamable $r2 = t2ADDrs renamable $r1, killed renamable $r0, 235, 14 /* CC::al */, $noreg, $noreg
272    renamable $r0 = nuw nsw t2LSLri killed renamable $r4, 3, 14 /* CC::al */, $noreg, $noreg
273    renamable $r2 = t2BICri killed renamable $r2, 7, 14 /* CC::al */, $noreg, $noreg
274    renamable $r1 = nsw t2MUL renamable $r0, killed renamable $r1, 14 /* CC::al */, $noreg
275
276  bb.2:
277    successors: %bb.3(0x80000000)
278    liveins: $lr, $r0, $r8, $r9, $r10
279
280    renamable $r1 = t2LDRi12 $sp, 4, 14 /* CC::al */, $noreg
281    renamable $r7 = t2LDRi12 $sp, 8, 14 /* CC::al */, $noreg
282    renamable $r4 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
283    renamable $r1 = t2MUL renamable $r10, killed renamable $r1, 14 /* CC::al */, $noreg
284    renamable $r2 = t2ASRri renamable $r1, 31, 14 /* CC::al */, $noreg, $noreg
285    renamable $r3 = t2ADDrs renamable $r1, renamable $r2, 219, 14 /* CC::al */, $noreg, $noreg
286    renamable $r7 = t2LDRi12 $sp, 0, 14 /* CC::al */, $noreg
287
288  bb.3:
289    successors: %bb.34(0x30000000), %bb.4(0x50000000)
290    liveins: $lr, $r0, $r1, $r2, $r4, $r7, $r8, $r9, $r10
291
292    renamable $r3, renamable $r2 = t2LDR_POST killed renamable $r2, 4, 14 /* CC::al */, $noreg
293    t2CMPri renamable $r3, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr
294    t2Bcc %bb.34, 0 /* CC::eq */, killed $cpsr
295
296  bb.4:
297    successors: %bb.5(0x19999998), %bb.6(0x66666668)
298    liveins: $lr, $r0, $r1, $r2, $r3, $r4, $r7, $r8, $r9, $r10
299
300    renamable $r1 = t2RORri killed renamable $r1, 3, 14 /* CC::al */, $noreg, $noreg
301    t2CMPri renamable $r1, 3, 14 /* CC::al */, $noreg, implicit-def $cpsr
302    t2Bcc %bb.6, 9 /* CC::ls */, killed $cpsr
303
304  bb.5:
305    successors: %bb.35(0x80000000)
306    liveins: $lr, $r0, $r2, $r4, $r7, $r8, $r9, $r10
307
308    renamable $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
309    t2B %bb.35, 14 /* CC::al */, $noreg
310
311  bb.6:
312    successors: %bb.7(0x20000000), %bb.16(0x20000000), %bb.25(0x20000000), %bb.32(0x20000000)
313    liveins: $lr, $r0, $r1, $r2, $r3, $r4, $r7, $r8, $r9, $r10
314
315    renamable $r12 = t2LEApcrelJT %jump-table.0, 14 /* CC::al */, $noreg
316    renamable $r5 = t2ADDrs killed renamable $r12, renamable $r1, 18, 14 /* CC::al */, $noreg, $noreg
317    t2BR_JT killed renamable $r5, killed renamable $r1, %jump-table.0
318
319  bb.7:
320    successors: %bb.9(0x40000000), %bb.8(0x40000000)
321    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
322
323    dead renamable $r1 = t2LSLri renamable $r3, 31, 14 /* CC::al */, $noreg, def $cpsr
324    t2Bcc %bb.9, 0 /* CC::eq */, killed $cpsr
325
326  bb.8:
327    successors: %bb.9(0x80000000)
328    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
329
330    renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
331    renamable $r5 = t2ASRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
332
333  bb.9:
334    successors: %bb.10(0x30000000), %bb.11(0x50000000)
335    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
336
337    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
338    t2Bcc %bb.11, 5 /* CC::pl */, killed $cpsr
339
340  bb.10:
341    successors: %bb.35(0x80000000)
342    liveins: $lr, $r0, $r2, $r4, $r7, $r8, $r9, $r10
343
344    renamable $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
345    t2B %bb.35, 14 /* CC::al */, $noreg
346
347  bb.11:
348    successors: %bb.13(0x40000000), %bb.12(0x40000000)
349    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
350
351    dead renamable $r1 = t2LSLri renamable $r3, 30, 14 /* CC::al */, $noreg, def $cpsr
352    t2Bcc %bb.13, 5 /* CC::pl */, killed $cpsr
353
354  bb.12:
355    successors: %bb.13(0x80000000)
356    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
357
358    renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
359    renamable $r6 = t2LSRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
360
361  bb.13:
362    successors: %bb.14(0x80000000)
363    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
364
365    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
366
367  bb.14:
368    successors: %bb.15(0x30000000), %bb.16(0x50000000)
369    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
370
371    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
372    t2Bcc %bb.16, 5 /* CC::pl */, killed $cpsr
373
374  bb.15:
375    successors: %bb.35(0x80000000)
376    liveins: $lr, $r0, $r2, $r4, $r7, $r8, $r9, $r10
377
378    renamable $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
379    t2B %bb.35, 14 /* CC::al */, $noreg
380
381  bb.16:
382    successors: %bb.18(0x40000000), %bb.17(0x40000000)
383    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
384
385    dead renamable $r1 = t2LSLri renamable $r3, 23, 14 /* CC::al */, $noreg, def $cpsr
386    t2Bcc %bb.18, 5 /* CC::pl */, killed $cpsr
387
388  bb.17:
389    successors: %bb.18(0x80000000)
390    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
391
392    renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
393    renamable $r6 = t2ASRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
394
395  bb.18:
396    successors: %bb.19(0x30000000), %bb.20(0x50000000)
397    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
398
399    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
400    t2Bcc %bb.20, 5 /* CC::pl */, killed $cpsr
401
402  bb.19:
403    successors: %bb.35(0x80000000)
404    liveins: $lr, $r0, $r2, $r4, $r7, $r8, $r9, $r10
405
406    renamable $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
407    t2B %bb.35, 14 /* CC::al */, $noreg
408
409  bb.20:
410    successors: %bb.22(0x40000000), %bb.21(0x40000000)
411    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
412
413    dead renamable $r1 = t2LSLri renamable $r3, 22, 14 /* CC::al */, $noreg, def $cpsr
414    t2Bcc %bb.22, 5 /* CC::pl */, killed $cpsr
415
416  bb.21:
417    successors: %bb.22(0x80000000)
418    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
419
420    renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
421    renamable $r6 = t2LSRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
422
423  bb.22:
424    successors: %bb.23(0x80000000)
425    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
426
427    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
428
429  bb.23:
430    successors: %bb.24(0x30000000), %bb.25(0x50000000)
431    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
432
433    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
434    t2Bcc %bb.25, 5 /* CC::pl */, killed $cpsr
435
436  bb.24:
437    successors: %bb.35(0x80000000)
438    liveins: $lr, $r0, $r2, $r4, $r7, $r8, $r9, $r10
439
440    renamable $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
441    t2B %bb.35, 14 /* CC::al */, $noreg
442
443  bb.25:
444    successors: %bb.27(0x40000000), %bb.26(0x40000000)
445    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
446
447    dead renamable $r1 = t2LSLri renamable $r3, 15, 14 /* CC::al */, $noreg, def $cpsr
448    t2Bcc %bb.27, 5 /* CC::pl */, killed $cpsr
449
450  bb.26:
451    successors: %bb.27(0x80000000)
452    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
453
454    renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
455    renamable $r6 = t2ASRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
456
457  bb.27:
458    successors: %bb.28(0x30000000), %bb.29(0x50000000)
459    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
460
461    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
462    t2Bcc %bb.29, 5 /* CC::pl */, killed $cpsr
463
464  bb.28:
465    successors: %bb.35(0x80000000)
466    liveins: $lr, $r0, $r2, $r4, $r7, $r8, $r9, $r10
467
468    renamable $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
469    t2B %bb.35, 14 /* CC::al */, $noreg
470
471  bb.29:
472    successors: %bb.31(0x40000000), %bb.30(0x40000000)
473    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
474
475    dead renamable $r1 = t2LSLri renamable $r3, 14, 14 /* CC::al */, $noreg, def $cpsr
476    t2Bcc %bb.31, 5 /* CC::pl */, killed $cpsr
477
478  bb.30:
479    successors: %bb.31(0x80000000)
480    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
481
482    renamable $r1 = t2ANDri renamable $r7, 31, 14 /* CC::al */, $noreg, $noreg
483    renamable $r6 = t2LSRri renamable $r7, 5, 14 /* CC::al */, $noreg, $noreg
484
485  bb.31:
486    successors: %bb.32(0x80000000)
487    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
488
489    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
490
491  bb.32:
492    successors: %bb.33(0x80000000)
493    liveins: $lr, $r0, $r2, $r3, $r4, $r7, $r8, $r9, $r10
494
495    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, def $cpsr
496
497  bb.33:
498    successors: %bb.35(0x80000000)
499    liveins: $lr, $r0, $r2, $r4, $r7, $r8, $r9, $r10
500
501    renamable $r7 = nsw t2SUBrr killed renamable $r7, renamable $r0, 14 /* CC::al */, $noreg, $noreg
502    renamable $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg
503    t2B %bb.35, 14 /* CC::al */, $noreg
504
505  bb.34:
506    successors: %bb.35(0x80000000)
507    liveins: $lr, $r0, $r1, $r2, $r4, $r7, $r8, $r9, $r10
508
509    renamable $r7 = t2MLA renamable $r1, renamable $r0, killed renamable $r7, 14 /* CC::al */, $noreg
510
511  bb.35:
512    successors: %bb.3(0x7c000000), %bb.36(0x04000000)
513    liveins: $lr, $r0, $r1, $r2, $r4, $r7, $r8, $r9, $r10
514
515    t2CMPrr renamable $r4, renamable $r8, 14 /* CC::al */, $noreg, implicit-def $cpsr
516    t2Bcc %bb.3, 11 /* CC::lt */, killed $cpsr
517
518  bb.36:
519    successors: %bb.37(0x04000000), %bb.2(0x7c000000)
520    liveins: $lr, $r0, $r8, $r9, $r10
521
522    t2CMPrr renamable $r10, renamable $lr, 14 /* CC::al */, $noreg, implicit-def $cpsr
523    t2Bcc %bb.2, 1 /* CC::ne */, killed $cpsr
524
525  bb.37:
526    $sp = frame-destroy tADDspi $sp, 3, 14 /* CC::al */, $noreg
527    $sp = frame-destroy t2LDMIA_RET $sp, 14 /* CC::al */, $noreg, def $r4, def $r5, def $r6, def $r7, def $r8, def $r9, def $r10, def $r11, def $pc
528
529...
530