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