180 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=thumbv7m-none-eabi -run-pass=if-converter -o - %s | FileCheck %s3 4--- |5 define i32 @f1(i32 %x) #0 { ret i32 %x }6 define i32 @f2(i32 %x) #0 { ret i32 %x }7 define i32 @f3(i32 %x) #0 { ret i32 %x }8 declare i32 @fn(i32 %x) #09 10 attributes #0 = { minsize nounwind optsize }11 12...13---14name: f115tracksRegLiveness: true16liveins:17 - { reg: '$r0', virtual-reg: '' }18stack:19 - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,20 stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,21 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }22 - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,23 stack-id: default, callee-saved-register: '$r7', callee-saved-restored: true,24 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }25body: |26 ; CHECK-LABEL: name: f127 ; CHECK: bb.0:28 ; CHECK: liveins: $r0, $lr, $r729 ; CHECK: t2CMPri killed renamable $r0, 1, 14 /* CC::al */, $noreg, implicit-def $cpsr30 ; CHECK: tBX_RET 1 /* CC::ne */, killed $cpsr31 ; CHECK: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr32 ; CHECK: frame-setup CFI_INSTRUCTION def_cfa_offset 833 ; CHECK: frame-setup CFI_INSTRUCTION offset $lr, -434 ; CHECK: frame-setup CFI_INSTRUCTION offset $r7, -835 ; CHECK: $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg36 ; CHECK: tBL 14 /* CC::al */, $noreg, @fn, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp, implicit-def dead $r037 ; CHECK: $sp = t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr38 ; CHECK: tBX_RET 14 /* CC::al */, $noreg39 bb.0:40 successors: %bb.1(0x40000000), %bb.2(0x40000000)41 liveins: $r0, $lr, $r742 43 t2CMPri killed renamable $r0, 1, 14, $noreg, implicit-def $cpsr44 t2Bcc %bb.2, 1, killed $cpsr45 46 bb.1:47 liveins: $r7, $lr48 49 $sp = frame-setup t2STMDB_UPD $sp, 14, $noreg, killed $r7, killed $lr50 frame-setup CFI_INSTRUCTION def_cfa_offset 851 frame-setup CFI_INSTRUCTION offset $lr, -452 frame-setup CFI_INSTRUCTION offset $r7, -853 $r0 = t2MOVi 0, 14, $noreg, $noreg54 tBL 14, $noreg, @fn, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp, implicit-def dead $r055 $sp = t2LDMIA_UPD $sp, 14, $noreg, def $r7, def $lr56 tBX_RET 14, $noreg57 58 bb.2:59 liveins: $lr, $r760 61 tBX_RET 14, $noreg62 63...64---65name: f266tracksRegLiveness: true67liveins:68 - { reg: '$r0', virtual-reg: '' }69stack:70 - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,71 stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,72 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }73 - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,74 stack-id: default, callee-saved-register: '$r7', callee-saved-restored: true,75 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }76body: |77 ; CHECK-LABEL: name: f278 ; CHECK: bb.0:79 ; CHECK: successors: %bb.1(0x40000000), %bb.2(0x40000000)80 ; CHECK: liveins: $r0, $lr, $r781 ; CHECK: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr82 ; CHECK: t2Bcc %bb.2, 1 /* CC::ne */, killed $cpsr83 ; CHECK: bb.1:84 ; CHECK: liveins: $r7, $lr85 ; CHECK: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr86 ; CHECK: frame-setup CFI_INSTRUCTION def_cfa_offset 887 ; CHECK: frame-setup CFI_INSTRUCTION offset $lr, -488 ; CHECK: frame-setup CFI_INSTRUCTION offset $r7, -889 ; CHECK: $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg90 ; CHECK: tBL 14 /* CC::al */, $noreg, @fn, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp, implicit-def dead $r091 ; CHECK: $sp = t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr92 ; CHECK: tBX_RET 14 /* CC::al */, $noreg93 ; CHECK: bb.2:94 ; CHECK: liveins: $lr, $r795 ; CHECK: tBX_RET 14 /* CC::al */, $noreg96 bb.0:97 successors: %bb.1(0x40000000), %bb.2(0x40000000)98 liveins: $r0, $lr, $r799 100 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr101 t2Bcc %bb.2, 1, killed $cpsr102 103 bb.1:104 liveins: $r7, $lr105 106 $sp = frame-setup t2STMDB_UPD $sp, 14, $noreg, killed $r7, killed $lr107 frame-setup CFI_INSTRUCTION def_cfa_offset 8108 frame-setup CFI_INSTRUCTION offset $lr, -4109 frame-setup CFI_INSTRUCTION offset $r7, -8110 $r0 = t2MOVi 0, 14, $noreg, $noreg111 tBL 14, $noreg, @fn, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp, implicit-def dead $r0112 $sp = t2LDMIA_UPD $sp, 14, $noreg, def $r7, def $lr113 tBX_RET 14, $noreg114 115 bb.2:116 liveins: $lr, $r7117 118 tBX_RET 14, $noreg119 120...121---122name: f3123tracksRegLiveness: true124liveins:125 - { reg: '$r0', virtual-reg: '' }126stack:127 - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,128 stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,129 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }130 - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,131 stack-id: default, callee-saved-register: '$r7', callee-saved-restored: true,132 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }133body: |134 ; CHECK-LABEL: name: f3135 ; CHECK: bb.0:136 ; CHECK: successors: %bb.1(0x40000000), %bb.2(0x40000000)137 ; CHECK: liveins: $r0, $lr, $r7138 ; CHECK: t2CMPri killed renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr139 ; CHECK: $r1 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg140 ; CHECK: t2Bcc %bb.2, 1 /* CC::ne */, killed $cpsr141 ; CHECK: bb.1:142 ; CHECK: liveins: $r7, $lr143 ; CHECK: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr144 ; CHECK: frame-setup CFI_INSTRUCTION def_cfa_offset 8145 ; CHECK: frame-setup CFI_INSTRUCTION offset $lr, -4146 ; CHECK: frame-setup CFI_INSTRUCTION offset $r7, -8147 ; CHECK: $r0 = t2MOVi 0, 14 /* CC::al */, $noreg, $noreg148 ; CHECK: tBL 14 /* CC::al */, $noreg, @fn, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp, implicit-def dead $r0149 ; CHECK: $sp = t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr150 ; CHECK: tBX_RET 14 /* CC::al */, $noreg151 ; CHECK: bb.2:152 ; CHECK: liveins: $lr, $r7153 ; CHECK: tBX_RET 14 /* CC::al */, $noreg154 bb.0:155 successors: %bb.1(0x40000000), %bb.2(0x40000000)156 liveins: $r0, $lr, $r7157 158 t2CMPri killed renamable $r0, 0, 14, $noreg, implicit-def $cpsr159 $r1 = t2MOVi 0, 14, $noreg, $noreg160 t2Bcc %bb.2, 1, killed $cpsr161 162 bb.1:163 liveins: $r7, $lr164 165 $sp = frame-setup t2STMDB_UPD $sp, 14, $noreg, killed $r7, killed $lr166 frame-setup CFI_INSTRUCTION def_cfa_offset 8167 frame-setup CFI_INSTRUCTION offset $lr, -4168 frame-setup CFI_INSTRUCTION offset $r7, -8169 $r0 = t2MOVi 0, 14, $noreg, $noreg170 tBL 14, $noreg, @fn, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp, implicit-def dead $r0171 $sp = t2LDMIA_UPD $sp, 14, $noreg, def $r7, def $lr172 tBX_RET 14, $noreg173 174 bb.2:175 liveins: $lr, $r7176 177 tBX_RET 14, $noreg178 179...180