614 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=thumbv7 -run-pass=if-converter %s -o - | FileCheck %s --check-prefix=CHECK-V73# RUN: llc -mtriple=thumbv8 -run-pass=if-converter %s -o - | FileCheck %s --check-prefix=CHECK-V84--- |5 define void @test_nosize() {6 %c0 = icmp sgt i64 0, 07 br i1 %c0, label %b1, label %b68 9 b1: ; preds = %010 br i1 undef, label %b3, label %b211 12 b2: ; preds = %b113 %v0 = tail call i32 @extfunc()14 br label %b515 16 b3: ; preds = %b117 %v1 = load i32, ptr undef, align 418 %v2 = and i32 %v1, 25619 br label %b520 21 b5: ; preds = %b3, %b222 %v3 = phi i32 [ %v2, %b3 ], [ %v0, %b2 ]23 %c1 = icmp eq i32 %v3, 024 br i1 %c1, label %b8, label %b725 26 b6: ; preds = %027 %1 = tail call i32 @extfunc()28 ret void29 30 b7: ; preds = %b531 %2 = tail call i32 @extfunc()32 ret void33 34 b8: ; preds = %b535 ret void36 }37 38 ; Function Attrs: optsize39 define void @test_optsize() #0 {40 %c0 = icmp sgt i64 0, 041 br i1 %c0, label %b1, label %b642 43 b1: ; preds = %044 br i1 undef, label %b3, label %b245 46 b2: ; preds = %b147 %v0 = tail call i32 @extfunc()48 br label %b549 50 b3: ; preds = %b151 %v1 = load i32, ptr undef, align 452 %v2 = and i32 %v1, 25653 br label %b554 55 b5: ; preds = %b3, %b256 %v3 = phi i32 [ %v2, %b3 ], [ %v0, %b2 ]57 %c1 = icmp eq i32 %v3, 058 br i1 %c1, label %b8, label %b759 60 b6: ; preds = %061 %1 = tail call i32 @extfunc()62 ret void63 64 b7: ; preds = %b565 %2 = tail call i32 @extfunc()66 ret void67 68 b8: ; preds = %b569 ret void70 }71 72 ; Function Attrs: minsize73 define void @test_minsize() #1 {74 %c0 = icmp sgt i64 0, 075 br i1 %c0, label %b1, label %b676 77 b1: ; preds = %078 br i1 undef, label %b3, label %b279 80 b2: ; preds = %b181 %v0 = tail call i32 @extfunc()82 br label %b583 84 b3: ; preds = %b185 %v1 = load i32, ptr undef, align 486 %v2 = and i32 %v1, 25687 br label %b588 89 b5: ; preds = %b3, %b290 %v3 = phi i32 [ %v2, %b3 ], [ %v0, %b2 ]91 %c1 = icmp eq i32 %v3, 092 br i1 %c1, label %b8, label %b793 94 b6: ; preds = %095 %1 = tail call i32 @extfunc()96 ret void97 98 b7: ; preds = %b599 %2 = tail call i32 @extfunc()100 ret void101 102 b8: ; preds = %b5103 ret void104 }105 106 declare i32 @extfunc()107 108 ; Function Attrs: nounwind109 declare void @llvm.stackprotector(ptr, ptr) #2110 111 attributes #0 = { optsize }112 attributes #1 = { minsize }113 attributes #2 = { nounwind }114 115...116---117name: test_nosize118alignment: 2119exposesReturnsTwice: false120legalized: false121regBankSelected: false122selected: false123failedISel: false124tracksRegLiveness: true125hasWinCFI: false126registers: []127liveins: []128frameInfo:129 isFrameAddressTaken: false130 isReturnAddressTaken: false131 hasStackMap: false132 hasPatchPoint: false133 stackSize: 8134 offsetAdjustment: 0135 maxAlignment: 4136 adjustsStack: true137 hasCalls: true138 stackProtector: ''139 maxCallFrameSize: 0140 cvBytesOfCalleeSavedRegisters: 0141 hasOpaqueSPAdjustment: false142 hasVAStart: false143 hasMustTailInVarArgFunc: false144 localFrameSize: 0145 savePoint: []146 restorePoint: []147fixedStack: []148stack:149 - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,150 stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,151 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }152 - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,153 stack-id: default, callee-saved-register: '$r7', callee-saved-restored: true,154 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }155callSites: []156constants: []157machineFunctionInfo: {}158body: |159 ; CHECK-V7-LABEL: name: test_nosize160 ; CHECK-V7: bb.0 (%ir-block.0):161 ; CHECK-V7: successors: %bb.1(0x80000000)162 ; CHECK-V7: liveins: $lr, $r7163 ; CHECK-V7: renamable $r0 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg164 ; CHECK-V7: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr165 ; CHECK-V7: tTAILJMPdND @extfunc, 1 /* CC::ne */, killed $cpsr, implicit $sp, implicit $sp166 ; CHECK-V7: bb.1.b1:167 ; CHECK-V7: successors: %bb.3(0x40000000), %bb.2(0x40000000)168 ; CHECK-V7: liveins: $r7, $lr169 ; CHECK-V7: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr170 ; CHECK-V7: frame-setup CFI_INSTRUCTION def_cfa_offset 8171 ; CHECK-V7: frame-setup CFI_INSTRUCTION offset $lr, -4172 ; CHECK-V7: frame-setup CFI_INSTRUCTION offset $r7, -8173 ; CHECK-V7: renamable $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg174 ; CHECK-V7: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr175 ; CHECK-V7: t2Bcc %bb.3, 1 /* CC::ne */, killed $cpsr176 ; CHECK-V7: bb.2.b2:177 ; CHECK-V7: successors: %bb.4(0x80000000)178 ; CHECK-V7: tBL 14 /* CC::al */, $noreg, @extfunc, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $r0179 ; CHECK-V7: t2B %bb.4, 14 /* CC::al */, $noreg180 ; CHECK-V7: bb.3.b3:181 ; CHECK-V7: successors: %bb.4(0x80000000)182 ; CHECK-V7: renamable $r0 = t2LDRi12 undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from `ptr undef`)183 ; CHECK-V7: renamable $r0 = t2ANDri killed renamable $r0, 256, 14 /* CC::al */, $noreg, $noreg184 ; CHECK-V7: bb.4.b5:185 ; CHECK-V7: successors: %bb.5(0x50000000)186 ; CHECK-V7: liveins: $r0187 ; CHECK-V7: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr188 ; CHECK-V7: $sp = t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr189 ; CHECK-V7: tBX_RET 0 /* CC::eq */, killed $cpsr190 ; CHECK-V7: bb.5.b7:191 ; CHECK-V7: liveins: $lr, $r7192 ; CHECK-V7: tTAILJMPdND @extfunc, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp193 ; CHECK-V8-LABEL: name: test_nosize194 ; CHECK-V8: bb.0 (%ir-block.0):195 ; CHECK-V8: successors: %bb.1(0x80000000)196 ; CHECK-V8: liveins: $lr, $r7197 ; CHECK-V8: renamable $r0 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg198 ; CHECK-V8: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr199 ; CHECK-V8: tTAILJMPdND @extfunc, 1 /* CC::ne */, killed $cpsr, implicit $sp, implicit $sp200 ; CHECK-V8: bb.1.b1:201 ; CHECK-V8: successors: %bb.3(0x40000000), %bb.2(0x40000000)202 ; CHECK-V8: liveins: $r7, $lr203 ; CHECK-V8: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr204 ; CHECK-V8: frame-setup CFI_INSTRUCTION def_cfa_offset 8205 ; CHECK-V8: frame-setup CFI_INSTRUCTION offset $lr, -4206 ; CHECK-V8: frame-setup CFI_INSTRUCTION offset $r7, -8207 ; CHECK-V8: renamable $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg208 ; CHECK-V8: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr209 ; CHECK-V8: t2Bcc %bb.3, 1 /* CC::ne */, killed $cpsr210 ; CHECK-V8: bb.2.b2:211 ; CHECK-V8: successors: %bb.4(0x80000000)212 ; CHECK-V8: tBL 14 /* CC::al */, $noreg, @extfunc, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $r0213 ; CHECK-V8: t2B %bb.4, 14 /* CC::al */, $noreg214 ; CHECK-V8: bb.3.b3:215 ; CHECK-V8: successors: %bb.4(0x80000000)216 ; CHECK-V8: renamable $r0 = t2LDRi12 undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from `ptr undef`)217 ; CHECK-V8: renamable $r0 = t2ANDri killed renamable $r0, 256, 14 /* CC::al */, $noreg, $noreg218 ; CHECK-V8: bb.4.b5:219 ; CHECK-V8: successors: %bb.5(0x50000000)220 ; CHECK-V8: liveins: $r0221 ; CHECK-V8: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr222 ; CHECK-V8: $sp = t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr223 ; CHECK-V8: tBX_RET 0 /* CC::eq */, killed $cpsr224 ; CHECK-V8: bb.5.b7:225 ; CHECK-V8: liveins: $lr, $r7226 ; CHECK-V8: tTAILJMPdND @extfunc, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp227 bb.0 (%ir-block.0):228 successors: %bb.1(0x50000000), %bb.6(0x30000000)229 liveins: $lr, $r7230 231 renamable $r0 = t2MOVi 1, 14, $noreg, $noreg232 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr233 t2Bcc %bb.6, 1, killed $cpsr234 235 bb.1.b1:236 successors: %bb.3(0x40000000), %bb.2(0x40000000)237 liveins: $r7, $lr238 239 $sp = frame-setup t2STMDB_UPD $sp, 14, $noreg, killed $r7, killed $lr240 frame-setup CFI_INSTRUCTION def_cfa_offset 8241 frame-setup CFI_INSTRUCTION offset $lr, -4242 frame-setup CFI_INSTRUCTION offset $r7, -8243 renamable $r0 = t2MOVi 0, 14, $noreg, $noreg244 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr245 t2Bcc %bb.3, 1, killed $cpsr246 247 bb.2.b2:248 successors: %bb.4(0x80000000)249 250 tBL 14, $noreg, @extfunc, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $r0251 t2B %bb.4, 14, $noreg252 253 bb.3.b3:254 successors: %bb.4(0x80000000)255 256 renamable $r0 = t2LDRi12 undef renamable $r0, 0, 14, $noreg :: (load (s32) from `ptr undef`)257 renamable $r0 = t2ANDri killed renamable $r0, 256, 14, $noreg, $noreg258 259 bb.4.b5:260 successors: %bb.5(0x30000000), %bb.6(0x50000000)261 liveins: $r0262 263 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr264 $sp = t2LDMIA_UPD $sp, 14, $noreg, def $r7, def $lr265 t2Bcc %bb.6, 1, killed $cpsr266 267 bb.5.b8:268 liveins: $lr, $r7269 270 tBX_RET 14, $noreg271 272 bb.6.b7:273 liveins: $lr, $r7274 275 tTAILJMPdND @extfunc, 14, $noreg, implicit $sp, implicit $sp276 277...278---279name: test_optsize280alignment: 2281exposesReturnsTwice: false282legalized: false283regBankSelected: false284selected: false285failedISel: false286tracksRegLiveness: true287hasWinCFI: false288registers: []289liveins: []290frameInfo:291 isFrameAddressTaken: false292 isReturnAddressTaken: false293 hasStackMap: false294 hasPatchPoint: false295 stackSize: 8296 offsetAdjustment: 0297 maxAlignment: 4298 adjustsStack: true299 hasCalls: true300 stackProtector: ''301 maxCallFrameSize: 0302 cvBytesOfCalleeSavedRegisters: 0303 hasOpaqueSPAdjustment: false304 hasVAStart: false305 hasMustTailInVarArgFunc: false306 localFrameSize: 0307 savePoint: []308 restorePoint: []309fixedStack: []310stack:311 - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,312 stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,313 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }314 - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,315 stack-id: default, callee-saved-register: '$r7', callee-saved-restored: true,316 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }317callSites: []318constants: []319machineFunctionInfo: {}320body: |321 ; CHECK-V7-LABEL: name: test_optsize322 ; CHECK-V7: bb.0 (%ir-block.0):323 ; CHECK-V7: successors: %bb.1(0x50000000), %bb.6(0x30000000)324 ; CHECK-V7: liveins: $lr, $r7325 ; CHECK-V7: renamable $r0 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg326 ; CHECK-V7: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr327 ; CHECK-V7: t2Bcc %bb.6, 1 /* CC::ne */, killed $cpsr328 ; CHECK-V7: bb.1.b1:329 ; CHECK-V7: successors: %bb.3(0x40000000), %bb.2(0x40000000)330 ; CHECK-V7: liveins: $r7, $lr331 ; CHECK-V7: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr332 ; CHECK-V7: frame-setup CFI_INSTRUCTION def_cfa_offset 8333 ; CHECK-V7: frame-setup CFI_INSTRUCTION offset $lr, -4334 ; CHECK-V7: frame-setup CFI_INSTRUCTION offset $r7, -8335 ; CHECK-V7: renamable $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg336 ; CHECK-V7: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr337 ; CHECK-V7: t2Bcc %bb.3, 1 /* CC::ne */, killed $cpsr338 ; CHECK-V7: bb.2.b2:339 ; CHECK-V7: successors: %bb.4(0x80000000)340 ; CHECK-V7: tBL 14 /* CC::al */, $noreg, @extfunc, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $r0341 ; CHECK-V7: t2B %bb.4, 14 /* CC::al */, $noreg342 ; CHECK-V7: bb.3.b3:343 ; CHECK-V7: successors: %bb.4(0x80000000)344 ; CHECK-V7: renamable $r0 = t2LDRi12 undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from `ptr undef`)345 ; CHECK-V7: renamable $r0 = t2ANDri killed renamable $r0, 256, 14 /* CC::al */, $noreg, $noreg346 ; CHECK-V7: bb.4.b5:347 ; CHECK-V7: successors: %bb.5(0x30000000), %bb.6(0x50000000)348 ; CHECK-V7: liveins: $r0349 ; CHECK-V7: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr350 ; CHECK-V7: $sp = t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr351 ; CHECK-V7: t2Bcc %bb.6, 1 /* CC::ne */, killed $cpsr352 ; CHECK-V7: bb.5.b8:353 ; CHECK-V7: liveins: $lr, $r7354 ; CHECK-V7: tBX_RET 14 /* CC::al */, $noreg355 ; CHECK-V7: bb.6.b7:356 ; CHECK-V7: liveins: $lr, $r7357 ; CHECK-V7: tTAILJMPdND @extfunc, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp358 ; CHECK-V8-LABEL: name: test_optsize359 ; CHECK-V8: bb.0 (%ir-block.0):360 ; CHECK-V8: successors: %bb.1(0x50000000), %bb.6(0x30000000)361 ; CHECK-V8: liveins: $lr, $r7362 ; CHECK-V8: renamable $r0 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg363 ; CHECK-V8: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr364 ; CHECK-V8: t2Bcc %bb.6, 1 /* CC::ne */, killed $cpsr365 ; CHECK-V8: bb.1.b1:366 ; CHECK-V8: successors: %bb.3(0x40000000), %bb.2(0x40000000)367 ; CHECK-V8: liveins: $r7, $lr368 ; CHECK-V8: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr369 ; CHECK-V8: frame-setup CFI_INSTRUCTION def_cfa_offset 8370 ; CHECK-V8: frame-setup CFI_INSTRUCTION offset $lr, -4371 ; CHECK-V8: frame-setup CFI_INSTRUCTION offset $r7, -8372 ; CHECK-V8: renamable $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg373 ; CHECK-V8: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr374 ; CHECK-V8: t2Bcc %bb.3, 1 /* CC::ne */, killed $cpsr375 ; CHECK-V8: bb.2.b2:376 ; CHECK-V8: successors: %bb.4(0x80000000)377 ; CHECK-V8: tBL 14 /* CC::al */, $noreg, @extfunc, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $r0378 ; CHECK-V8: t2B %bb.4, 14 /* CC::al */, $noreg379 ; CHECK-V8: bb.3.b3:380 ; CHECK-V8: successors: %bb.4(0x80000000)381 ; CHECK-V8: renamable $r0 = t2LDRi12 undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from `ptr undef`)382 ; CHECK-V8: renamable $r0 = t2ANDri killed renamable $r0, 256, 14 /* CC::al */, $noreg, $noreg383 ; CHECK-V8: bb.4.b5:384 ; CHECK-V8: successors: %bb.5(0x30000000), %bb.6(0x50000000)385 ; CHECK-V8: liveins: $r0386 ; CHECK-V8: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr387 ; CHECK-V8: $sp = t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr388 ; CHECK-V8: t2Bcc %bb.6, 1 /* CC::ne */, killed $cpsr389 ; CHECK-V8: bb.5.b8:390 ; CHECK-V8: liveins: $lr, $r7391 ; CHECK-V8: tBX_RET 14 /* CC::al */, $noreg392 ; CHECK-V8: bb.6.b7:393 ; CHECK-V8: liveins: $lr, $r7394 ; CHECK-V8: tTAILJMPdND @extfunc, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp395 bb.0 (%ir-block.0):396 successors: %bb.1(0x50000000), %bb.6(0x30000000)397 liveins: $lr, $r7398 399 renamable $r0 = t2MOVi 1, 14, $noreg, $noreg400 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr401 t2Bcc %bb.6, 1, killed $cpsr402 403 bb.1.b1:404 successors: %bb.3(0x40000000), %bb.2(0x40000000)405 liveins: $r7, $lr406 407 $sp = frame-setup t2STMDB_UPD $sp, 14, $noreg, killed $r7, killed $lr408 frame-setup CFI_INSTRUCTION def_cfa_offset 8409 frame-setup CFI_INSTRUCTION offset $lr, -4410 frame-setup CFI_INSTRUCTION offset $r7, -8411 renamable $r0 = t2MOVi 0, 14, $noreg, $noreg412 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr413 t2Bcc %bb.3, 1, killed $cpsr414 415 bb.2.b2:416 successors: %bb.4(0x80000000)417 418 tBL 14, $noreg, @extfunc, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $r0419 t2B %bb.4, 14, $noreg420 421 bb.3.b3:422 successors: %bb.4(0x80000000)423 424 renamable $r0 = t2LDRi12 undef renamable $r0, 0, 14, $noreg :: (load (s32) from `ptr undef`)425 renamable $r0 = t2ANDri killed renamable $r0, 256, 14, $noreg, $noreg426 427 bb.4.b5:428 successors: %bb.5(0x30000000), %bb.6(0x50000000)429 liveins: $r0430 431 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr432 $sp = t2LDMIA_UPD $sp, 14, $noreg, def $r7, def $lr433 t2Bcc %bb.6, 1, killed $cpsr434 435 bb.5.b8:436 liveins: $lr, $r7437 438 tBX_RET 14, $noreg439 440 bb.6.b7:441 liveins: $lr, $r7442 443 tTAILJMPdND @extfunc, 14, $noreg, implicit $sp, implicit $sp444 445...446---447name: test_minsize448alignment: 2449exposesReturnsTwice: false450legalized: false451regBankSelected: false452selected: false453failedISel: false454tracksRegLiveness: true455hasWinCFI: false456registers: []457liveins: []458frameInfo:459 isFrameAddressTaken: false460 isReturnAddressTaken: false461 hasStackMap: false462 hasPatchPoint: false463 stackSize: 8464 offsetAdjustment: 0465 maxAlignment: 4466 adjustsStack: true467 hasCalls: true468 stackProtector: ''469 maxCallFrameSize: 0470 cvBytesOfCalleeSavedRegisters: 0471 hasOpaqueSPAdjustment: false472 hasVAStart: false473 hasMustTailInVarArgFunc: false474 localFrameSize: 0475 savePoint: []476 restorePoint: []477fixedStack: []478stack:479 - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,480 stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,481 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }482 - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,483 stack-id: default, callee-saved-register: '$r7', callee-saved-restored: true,484 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }485callSites: []486constants: []487machineFunctionInfo: {}488body: |489 ; CHECK-V7-LABEL: name: test_minsize490 ; CHECK-V7: bb.0 (%ir-block.0):491 ; CHECK-V7: successors: %bb.1(0x50000000), %bb.6(0x30000000)492 ; CHECK-V7: liveins: $lr, $r7493 ; CHECK-V7: renamable $r0 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg494 ; CHECK-V7: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr495 ; CHECK-V7: t2Bcc %bb.6, 1 /* CC::ne */, killed $cpsr496 ; CHECK-V7: bb.1.b1:497 ; CHECK-V7: successors: %bb.3(0x40000000), %bb.2(0x40000000)498 ; CHECK-V7: liveins: $r7, $lr499 ; CHECK-V7: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr500 ; CHECK-V7: frame-setup CFI_INSTRUCTION def_cfa_offset 8501 ; CHECK-V7: frame-setup CFI_INSTRUCTION offset $lr, -4502 ; CHECK-V7: frame-setup CFI_INSTRUCTION offset $r7, -8503 ; CHECK-V7: renamable $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg504 ; CHECK-V7: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr505 ; CHECK-V7: t2Bcc %bb.3, 1 /* CC::ne */, killed $cpsr506 ; CHECK-V7: bb.2.b2:507 ; CHECK-V7: successors: %bb.4(0x80000000)508 ; CHECK-V7: tBL 14 /* CC::al */, $noreg, @extfunc, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $r0509 ; CHECK-V7: t2B %bb.4, 14 /* CC::al */, $noreg510 ; CHECK-V7: bb.3.b3:511 ; CHECK-V7: successors: %bb.4(0x80000000)512 ; CHECK-V7: renamable $r0 = t2LDRi12 undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from `ptr undef`)513 ; CHECK-V7: renamable $r0 = t2ANDri killed renamable $r0, 256, 14 /* CC::al */, $noreg, $noreg514 ; CHECK-V7: bb.4.b5:515 ; CHECK-V7: successors: %bb.5(0x30000000), %bb.6(0x50000000)516 ; CHECK-V7: liveins: $r0517 ; CHECK-V7: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr518 ; CHECK-V7: $sp = t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr519 ; CHECK-V7: t2Bcc %bb.6, 1 /* CC::ne */, killed $cpsr520 ; CHECK-V7: bb.5.b8:521 ; CHECK-V7: liveins: $lr, $r7522 ; CHECK-V7: tBX_RET 14 /* CC::al */, $noreg523 ; CHECK-V7: bb.6.b7:524 ; CHECK-V7: liveins: $lr, $r7525 ; CHECK-V7: tTAILJMPdND @extfunc, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp526 ; CHECK-V8-LABEL: name: test_minsize527 ; CHECK-V8: bb.0 (%ir-block.0):528 ; CHECK-V8: successors: %bb.1(0x50000000), %bb.6(0x30000000)529 ; CHECK-V8: liveins: $lr, $r7530 ; CHECK-V8: renamable $r0 = t2MOVi 1, 14 /* CC::al */, $noreg, $noreg531 ; CHECK-V8: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr532 ; CHECK-V8: t2Bcc %bb.6, 1 /* CC::ne */, killed $cpsr533 ; CHECK-V8: bb.1.b1:534 ; CHECK-V8: successors: %bb.3(0x40000000), %bb.2(0x40000000)535 ; CHECK-V8: liveins: $r7, $lr536 ; CHECK-V8: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr537 ; CHECK-V8: frame-setup CFI_INSTRUCTION def_cfa_offset 8538 ; CHECK-V8: frame-setup CFI_INSTRUCTION offset $lr, -4539 ; CHECK-V8: frame-setup CFI_INSTRUCTION offset $r7, -8540 ; CHECK-V8: renamable $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg541 ; CHECK-V8: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr542 ; CHECK-V8: t2Bcc %bb.3, 1 /* CC::ne */, killed $cpsr543 ; CHECK-V8: bb.2.b2:544 ; CHECK-V8: successors: %bb.4(0x80000000)545 ; CHECK-V8: tBL 14 /* CC::al */, $noreg, @extfunc, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $r0546 ; CHECK-V8: t2B %bb.4, 14 /* CC::al */, $noreg547 ; CHECK-V8: bb.3.b3:548 ; CHECK-V8: successors: %bb.4(0x80000000)549 ; CHECK-V8: renamable $r0 = t2LDRi12 undef renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from `ptr undef`)550 ; CHECK-V8: renamable $r0 = t2ANDri killed renamable $r0, 256, 14 /* CC::al */, $noreg, $noreg551 ; CHECK-V8: bb.4.b5:552 ; CHECK-V8: successors: %bb.5(0x30000000), %bb.6(0x50000000)553 ; CHECK-V8: liveins: $r0554 ; CHECK-V8: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr555 ; CHECK-V8: $sp = t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr556 ; CHECK-V8: t2Bcc %bb.6, 1 /* CC::ne */, killed $cpsr557 ; CHECK-V8: bb.5.b8:558 ; CHECK-V8: liveins: $lr, $r7559 ; CHECK-V8: tBX_RET 14 /* CC::al */, $noreg560 ; CHECK-V8: bb.6.b7:561 ; CHECK-V8: liveins: $lr, $r7562 ; CHECK-V8: tTAILJMPdND @extfunc, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp563 bb.0 (%ir-block.0):564 successors: %bb.1(0x50000000), %bb.6(0x30000000)565 liveins: $lr, $r7566 567 renamable $r0 = t2MOVi 1, 14, $noreg, $noreg568 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr569 t2Bcc %bb.6, 1, killed $cpsr570 571 bb.1.b1:572 successors: %bb.3(0x40000000), %bb.2(0x40000000)573 liveins: $r7, $lr574 575 $sp = frame-setup t2STMDB_UPD $sp, 14, $noreg, killed $r7, killed $lr576 frame-setup CFI_INSTRUCTION def_cfa_offset 8577 frame-setup CFI_INSTRUCTION offset $lr, -4578 frame-setup CFI_INSTRUCTION offset $r7, -8579 renamable $r0 = t2MOVi 0, 14, $noreg, $noreg580 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr581 t2Bcc %bb.3, 1, killed $cpsr582 583 bb.2.b2:584 successors: %bb.4(0x80000000)585 586 tBL 14, $noreg, @extfunc, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $r0587 t2B %bb.4, 14, $noreg588 589 bb.3.b3:590 successors: %bb.4(0x80000000)591 592 renamable $r0 = t2LDRi12 undef renamable $r0, 0, 14, $noreg :: (load (s32) from `ptr undef`)593 renamable $r0 = t2ANDri killed renamable $r0, 256, 14, $noreg, $noreg594 595 bb.4.b5:596 successors: %bb.5(0x30000000), %bb.6(0x50000000)597 liveins: $r0598 599 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr600 $sp = t2LDMIA_UPD $sp, 14, $noreg, def $r7, def $lr601 t2Bcc %bb.6, 1, killed $cpsr602 603 bb.5.b8:604 liveins: $lr, $r7605 606 tBX_RET 14, $noreg607 608 bb.6.b7:609 liveins: $lr, $r7610 611 tTAILJMPdND @extfunc, 14, $noreg, implicit $sp, implicit $sp612 613...614