brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.2 KiB · a72b57c Raw
334 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=thumbv7m-none-eabi -run-pass=arm-cp-islands -o - %s | FileCheck %s3 4--- |5  define ptr @test_simple(ptr %x, i32 %y) { ret ptr %x }6  define ptr @test_notfirst(ptr %x, i32 %y) { ret ptr %x }7  define ptr @test_redefined(ptr %x, i32 %y) { ret ptr %x }8  define ptr @test_notredefined(ptr %x, i32 %y) { ret ptr %x }9  define ptr @test_notcmp(ptr %x, i32 %y) { ret ptr %x }10  define ptr @test_killflag_1(ptr %x, i32 %y) { ret ptr %x }11  define ptr @test_killflag_2(ptr %x, i32 %y) { ret ptr %x }12  define ptr @test_cpsr(ptr %x, i32 %y) { ret ptr %x }13 14  declare dso_local i32 @c(i32 %x)15...16---17name:            test_simple18tracksRegLiveness: true19liveins:20  - { reg: '$r0', virtual-reg: '' }21  - { reg: '$r1', virtual-reg: '' }22body:             |23  ; CHECK-LABEL: name: test_simple24  ; CHECK: bb.0:25  ; CHECK:   successors: %bb.2(0x30000000), %bb.1(0x50000000)26  ; CHECK:   liveins: $r0, $r127  ; CHECK:   tCBZ renamable $r0, %bb.228  ; CHECK: bb.1:29  ; CHECK:   liveins: $r030  ; CHECK:   renamable $r0 = tLDRi killed renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from %ir.x)31  ; CHECK:   tTAILJMPdND @c, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp, implicit killed $r032  ; CHECK: bb.2:33  ; CHECK:   $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg34  ; CHECK:   tBX_RET 14 /* CC::al */, $noreg, implicit killed $r035  bb.0:36    successors: %bb.1(0x30000000), %bb.2(0x50000000)37    liveins: $r0, $r138 39    tCMPi8 renamable $r0, 0, 14, $noreg, implicit-def $cpsr40    t2Bcc %bb.1, 0, killed $cpsr41 42  bb.2:43    liveins: $r044 45    renamable $r0 = tLDRi killed renamable $r0, 0, 14, $noreg :: (load (s32) from %ir.x)46    tTAILJMPdND @c, 14, $noreg, implicit $sp, implicit $sp, implicit killed $r047 48  bb.1:49    $r0, dead $cpsr = tMOVi8 0, 14, $noreg50    tBX_RET 14, $noreg, implicit killed $r051 52...53---54name:            test_notfirst55tracksRegLiveness: true56liveins:57  - { reg: '$r0', virtual-reg: '' }58  - { reg: '$r1', virtual-reg: '' }59body:             |60  ; CHECK-LABEL: name: test_notfirst61  ; CHECK: bb.0:62  ; CHECK:   successors: %bb.2(0x30000000), %bb.1(0x50000000)63  ; CHECK:   liveins: $r0, $r164  ; CHECK:   renamable $r0, $cpsr = tADDrr killed renamable $r0, renamable $r1, 14 /* CC::al */, $noreg65  ; CHECK:   renamable $r1 = t2ADDrs renamable $r0, killed renamable $r1, 18, 14 /* CC::al */, $noreg, $noreg66  ; CHECK:   tCBZ renamable $r0, %bb.267  ; CHECK: bb.1:68  ; CHECK:   liveins: $r069  ; CHECK:   renamable $r0 = tLDRi killed renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from %ir.x)70  ; CHECK:   tTAILJMPdND @c, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp, implicit killed $r071  ; CHECK: bb.2:72  ; CHECK:   $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg73  ; CHECK:   tBX_RET 14 /* CC::al */, $noreg, implicit killed $r074  bb.0:75    successors: %bb.1(0x30000000), %bb.2(0x50000000)76    liveins: $r0, $r177 78    renamable $r0, $cpsr = tADDrr killed renamable $r0, renamable $r1, 14, $noreg79    tCMPi8 renamable $r0, 0, 14, $noreg, implicit-def $cpsr80    renamable $r1 = t2ADDrs renamable $r0, killed renamable $r1, 18, 14, $noreg, $noreg81    t2Bcc %bb.1, 0, killed $cpsr82 83  bb.2:84    liveins: $r085 86    renamable $r0 = tLDRi killed renamable $r0, 0, 14, $noreg :: (load (s32) from %ir.x)87    tTAILJMPdND @c, 14, $noreg, implicit $sp, implicit $sp, implicit killed $r088 89  bb.1:90    $r0, dead $cpsr = tMOVi8 0, 14, $noreg91    tBX_RET 14, $noreg, implicit killed $r092 93...94---95name:            test_redefined96tracksRegLiveness: true97liveins:98  - { reg: '$r0', virtual-reg: '' }99  - { reg: '$r1', virtual-reg: '' }100body:             |101  ; CHECK-LABEL: name: test_redefined102  ; CHECK: bb.0:103  ; CHECK:   successors: %bb.2(0x30000000), %bb.1(0x50000000)104  ; CHECK:   liveins: $r0, $r1105  ; CHECK:   tCMPi8 renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr106  ; CHECK:   renamable $r0 = t2ADDrs killed renamable $r0, killed renamable $r1, 18, 14 /* CC::al */, $noreg, $noreg107  ; CHECK:   tBcc %bb.2, 0 /* CC::eq */, killed $cpsr108  ; CHECK: bb.1:109  ; CHECK:   liveins: $r0110  ; CHECK:   renamable $r0 = tLDRi killed renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from %ir.x)111  ; CHECK:   tTAILJMPdND @c, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp, implicit killed $r0112  ; CHECK: bb.2:113  ; CHECK:   $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg114  ; CHECK:   tBX_RET 14 /* CC::al */, $noreg, implicit killed $r0115  bb.0:116    successors: %bb.1(0x30000000), %bb.2(0x50000000)117    liveins: $r0, $r1118 119    tCMPi8 renamable $r0, 0, 14, $noreg, implicit-def $cpsr120    renamable $r0 = t2ADDrs killed renamable $r0, killed renamable $r1, 18, 14, $noreg, $noreg121    t2Bcc %bb.1, 0, killed $cpsr122 123  bb.2:124    liveins: $r0125 126    renamable $r0 = tLDRi killed renamable $r0, 0, 14, $noreg :: (load (s32) from %ir.x)127    tTAILJMPdND @c, 14, $noreg, implicit $sp, implicit $sp, implicit killed $r0128 129  bb.1:130    $r0, dead $cpsr = tMOVi8 0, 14, $noreg131    tBX_RET 14, $noreg, implicit killed $r0132 133...134---135name:            test_notredefined136tracksRegLiveness: true137liveins:138  - { reg: '$r0', virtual-reg: '' }139  - { reg: '$r1', virtual-reg: '' }140body:             |141  ; CHECK-LABEL: name: test_notredefined142  ; CHECK: bb.0:143  ; CHECK:   successors: %bb.2(0x30000000), %bb.1(0x50000000)144  ; CHECK:   liveins: $r0, $r1145  ; CHECK:   renamable $r1 = t2ADDrs renamable $r0, killed renamable $r1, 18, 14 /* CC::al */, $noreg, $noreg146  ; CHECK:   tCBZ renamable $r0, %bb.2147  ; CHECK: bb.1:148  ; CHECK:   liveins: $r0149  ; CHECK:   renamable $r0 = tLDRi killed renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from %ir.x)150  ; CHECK:   tTAILJMPdND @c, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp, implicit killed $r0151  ; CHECK: bb.2:152  ; CHECK:   $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg153  ; CHECK:   tBX_RET 14 /* CC::al */, $noreg, implicit killed $r0154  bb.0:155    successors: %bb.1(0x30000000), %bb.2(0x50000000)156    liveins: $r0, $r1157 158    tCMPi8 renamable $r0, 0, 14, $noreg, implicit-def $cpsr159    renamable $r1 = t2ADDrs renamable $r0, killed renamable $r1, 18, 14, $noreg, $noreg160    t2Bcc %bb.1, 0, killed $cpsr161 162  bb.2:163    liveins: $r0164 165    renamable $r0 = tLDRi killed renamable $r0, 0, 14, $noreg :: (load (s32) from %ir.x)166    tTAILJMPdND @c, 14, $noreg, implicit $sp, implicit $sp, implicit killed $r0167 168  bb.1:169    $r0, dead $cpsr = tMOVi8 0, 14, $noreg170    tBX_RET 14, $noreg, implicit killed $r0171 172...173---174name:            test_notcmp175tracksRegLiveness: true176liveins:177  - { reg: '$r0', virtual-reg: '' }178  - { reg: '$r1', virtual-reg: '' }179body:             |180  ; CHECK-LABEL: name: test_notcmp181  ; CHECK: bb.0:182  ; CHECK:   successors: %bb.2(0x30000000), %bb.1(0x50000000)183  ; CHECK:   liveins: $r0, $r1184  ; CHECK:   tCMPi8 renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr185  ; CHECK:   renamable $r1, $cpsr = tADDrr renamable $r0, killed renamable $r1, 14 /* CC::al */, $noreg186  ; CHECK:   tBcc %bb.2, 0 /* CC::eq */, killed $cpsr187  ; CHECK: bb.1:188  ; CHECK:   liveins: $r0189  ; CHECK:   renamable $r0 = tLDRi killed renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from %ir.x)190  ; CHECK:   tTAILJMPdND @c, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp, implicit killed $r0191  ; CHECK: bb.2:192  ; CHECK:   $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg193  ; CHECK:   tBX_RET 14 /* CC::al */, $noreg, implicit killed $r0194  bb.0:195    successors: %bb.1(0x30000000), %bb.2(0x50000000)196    liveins: $r0, $r1197 198    tCMPi8 renamable $r0, 0, 14, $noreg, implicit-def $cpsr199    renamable $r1, $cpsr = tADDrr renamable $r0, killed renamable $r1, 14, $noreg200    t2Bcc %bb.1, 0, killed $cpsr201 202  bb.2:203    liveins: $r0204 205    renamable $r0 = tLDRi killed renamable $r0, 0, 14, $noreg :: (load (s32) from %ir.x)206    tTAILJMPdND @c, 14, $noreg, implicit $sp, implicit $sp, implicit killed $r0207 208  bb.1:209    $r0, dead $cpsr = tMOVi8 0, 14, $noreg210    tBX_RET 14, $noreg, implicit killed $r0211 212...213---214name:            test_killflag_1215tracksRegLiveness: true216liveins:217  - { reg: '$r0', virtual-reg: '' }218  - { reg: '$r1', virtual-reg: '' }219body:             |220  ; CHECK-LABEL: name: test_killflag_1221  ; CHECK: bb.0:222  ; CHECK:   successors: %bb.2(0x30000000), %bb.1(0x50000000)223  ; CHECK:   liveins: $r0, $r1224  ; CHECK:   renamable $r0 = t2ADDrs killed renamable $r0, killed renamable $r0, 18, 14 /* CC::al */, $noreg, $noreg225  ; CHECK:   tCBZ killed renamable $r1, %bb.2226  ; CHECK: bb.1:227  ; CHECK:   liveins: $r0228  ; CHECK:   renamable $r0 = tLDRi killed renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from %ir.x)229  ; CHECK:   tTAILJMPdND @c, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp, implicit killed $r0230  ; CHECK: bb.2:231  ; CHECK:   $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg232  ; CHECK:   tBX_RET 14 /* CC::al */, $noreg, implicit killed $r0233  bb.0:234    successors: %bb.1(0x30000000), %bb.2(0x50000000)235    liveins: $r0, $r1236 237    tCMPi8 killed renamable $r1, 0, 14, $noreg, implicit-def $cpsr238    renamable $r0 = t2ADDrs killed renamable $r0, killed renamable $r0, 18, 14, $noreg, $noreg239    t2Bcc %bb.1, 0, killed $cpsr240 241  bb.2:242    liveins: $r0243 244    renamable $r0 = tLDRi killed renamable $r0, 0, 14, $noreg :: (load (s32) from %ir.x)245    tTAILJMPdND @c, 14, $noreg, implicit $sp, implicit $sp, implicit killed $r0246 247  bb.1:248    $r0, dead $cpsr = tMOVi8 0, 14, $noreg249    tBX_RET 14, $noreg, implicit killed $r0250 251...252---253name:            test_killflag_2254tracksRegLiveness: true255liveins:256  - { reg: '$r0', virtual-reg: '' }257  - { reg: '$r1', virtual-reg: '' }258body:             |259  ; CHECK-LABEL: name: test_killflag_2260  ; CHECK: bb.0:261  ; CHECK:   successors: %bb.2(0x30000000), %bb.1(0x50000000)262  ; CHECK:   liveins: $r0, $r1263  ; CHECK:   renamable $r0 = t2ADDrs renamable $r1, killed renamable $r0, 18, 14 /* CC::al */, $noreg, $noreg264  ; CHECK:   tCBZ killed renamable $r1, %bb.2265  ; CHECK: bb.1:266  ; CHECK:   liveins: $r0267  ; CHECK:   renamable $r0 = tLDRi killed renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from %ir.x)268  ; CHECK:   tTAILJMPdND @c, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp, implicit killed $r0269  ; CHECK: bb.2:270  ; CHECK:   $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg271  ; CHECK:   tBX_RET 14 /* CC::al */, $noreg, implicit killed $r0272  bb.0:273    successors: %bb.1(0x30000000), %bb.2(0x50000000)274    liveins: $r0, $r1275 276    tCMPi8 renamable $r1, 0, 14, $noreg, implicit-def $cpsr277    renamable $r0 = t2ADDrs killed renamable $r1, killed renamable $r0, 18, 14, $noreg, $noreg278    t2Bcc %bb.1, 0, killed $cpsr279 280  bb.2:281    liveins: $r0282 283    renamable $r0 = tLDRi killed renamable $r0, 0, 14, $noreg :: (load (s32) from %ir.x)284    tTAILJMPdND @c, 14, $noreg, implicit $sp, implicit $sp, implicit killed $r0285 286  bb.1:287    $r0, dead $cpsr = tMOVi8 0, 14, $noreg288    tBX_RET 14, $noreg, implicit killed $r0289 290...291---292name:            test_cpsr293tracksRegLiveness: true294liveins:295  - { reg: '$r0', virtual-reg: '' }296  - { reg: '$r1', virtual-reg: '' }297body:             |298  ; CHECK-LABEL: name: test_cpsr299  ; CHECK: bb.0:300  ; CHECK:   successors: %bb.2(0x30000000), %bb.1(0x50000000)301  ; CHECK:   liveins: $r0, $r1302  ; CHECK:   tCMPi8 renamable $r0, 0, 14 /* CC::al */, $noreg, implicit-def $cpsr303  ; CHECK:   t2IT 0, 8, implicit-def $itstate304  ; CHECK:   renamable $r1 = t2ADDri killed renamable $r1, 1, 1 /* CC::ne */, $cpsr, $noreg, implicit killed $itstate305  ; CHECK:   tBcc %bb.2, 0 /* CC::eq */, killed $cpsr306  ; CHECK: bb.1:307  ; CHECK:   liveins: $r0308  ; CHECK:   renamable $r0 = tLDRi killed renamable $r0, 0, 14 /* CC::al */, $noreg :: (load (s32) from %ir.x)309  ; CHECK:   tTAILJMPdND @c, 14 /* CC::al */, $noreg, implicit $sp, implicit $sp, implicit killed $r0310  ; CHECK: bb.2:311  ; CHECK:   $r0, dead $cpsr = tMOVi8 0, 14 /* CC::al */, $noreg312  ; CHECK:   tBX_RET 14 /* CC::al */, $noreg, implicit killed $r0313  bb.0:314    successors: %bb.1(0x30000000), %bb.2(0x50000000)315    liveins: $r0, $r1316 317    tCMPi8 renamable $r0, 0, 14, $noreg, implicit-def $cpsr318    t2IT 0, 8, implicit-def $itstate319    renamable $r1 = t2ADDri killed renamable $r1, 1, 1, $cpsr, $noreg, implicit killed $itstate320    t2Bcc %bb.1, 0, killed $cpsr321 322  bb.2:323    liveins: $r0324 325    renamable $r0 = tLDRi killed renamable $r0, 0, 14, $noreg :: (load (s32) from %ir.x)326    tTAILJMPdND @c, 14, $noreg, implicit $sp, implicit $sp, implicit killed $r0327 328  bb.1:329    $r0, dead $cpsr = tMOVi8 0, 14, $noreg330    tBX_RET 14, $noreg, implicit killed $r0331 332...333 334