brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.8 KiB · f2cdaeb Raw
212 lines · plain
1# RUN: llc -mtriple=thumbv7-- -run-pass=prologepilog \2# RUN: -run-pass=machine-outliner %s -o - | FileCheck %s3 4--- |5  define void @CheckAddrModeT2_i12() { ret void }6  define void @CheckAddrModeT2_i8() { ret void }7  define void @CheckAddrModeT2_i8s4() { ret void }8  define void @CheckAddrModeT2_ldrex() { ret void }9  define void @CheckAddrModeT1_s() { ret void }10  define void @foo() { ret void }11 12...13---14 15name:           CheckAddrModeT2_i1216tracksRegLiveness: true17 18body:             |19  bb.0:20    liveins: $r121    ;CHECK-LABEL: name:           CheckAddrModeT2_i1222    ;CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_[[SHARED:[0-9+]]]23    ;CHECK-NEXT: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_[[I12:[0-9]+]]24    ;CHECK-NEXT: $r0 = t2LDRi12 $sp, 4088, 14 /* CC::al */, $noreg25    $r0 = tMOVr killed $r1, 14, $noreg26    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp27    $r0 = t2LDRi12 $sp, 0, 14, $noreg28    $r0 = t2LDRi12 $sp, 4, 14, $noreg29    $r0 = t2LDRi12 $sp, 4086, 14, $noreg30    $r0 = t2LDRi12 $sp, 4088, 14, $noreg31    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp32    $r0 = t2LDRi12 $sp, 0, 14, $noreg33    $r0 = t2LDRi12 $sp, 4, 14, $noreg34    $r0 = t2LDRi12 $sp, 4086, 14, $noreg35    $r0 = t2LDRi12 $sp, 4088, 14, $noreg36    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp37    $r0 = t2LDRi12 $sp, 0, 14, $noreg38    $r0 = t2LDRi12 $sp, 4, 14, $noreg39    $r0 = t2LDRi12 $sp, 4086, 14, $noreg40    $r0 = t2LDRi12 $sp, 4088, 14, $noreg41    BX_RET 14, $noreg42...43---44 45name:           CheckAddrModeT2_i846tracksRegLiveness: true47 48body:             |49  bb.0:50    liveins: $r151    ;CHECK-LABEL: name:           CheckAddrModeT2_i852    ;CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_[[SHARED:[0-9+]]]53    ;CHECK-NEXT: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_[[I8:[0-9]+]]54    ;CHECK-NEXT: t2STRHT $r0, $sp, 248, 14 /* CC::al */, $noreg55    $r0 = tMOVr $r1, 14, $noreg56    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp57    t2STRHT $r0, $sp, 0, 14, $noreg58    t2STRHT $r0, $sp, 4, 14, $noreg59    t2STRHT $r0, $sp, 247, 14, $noreg60    t2STRHT $r0, $sp, 248, 14, $noreg61    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp62    t2STRHT $r0, $sp, 0, 14, $noreg63    t2STRHT $r0, $sp, 4, 14, $noreg64    t2STRHT $r0, $sp, 247, 14, $noreg65    t2STRHT $r0, $sp, 248, 14, $noreg66    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp67    t2STRHT $r0, $sp, 0, 14, $noreg68    t2STRHT $r0, $sp, 4, 14, $noreg69    t2STRHT $r0, $sp, 247, 14, $noreg70    t2STRHT $r0, $sp, 248, 14, $noreg71    BX_RET 14, $noreg72...73---74 75name:           CheckAddrModeT2_i8s476tracksRegLiveness: true77 78body:             |79  bb.0:80    liveins: $r181    ;CHECK-LABEL: name:           CheckAddrModeT2_i8s482    ;CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_[[SHARED:[0-9+]]]83    ;CHECK-NEXT: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_[[I8S4:[0-9]+]]84    ;CHECK-NEXT: t2STRDi8 $r0, $r1, $sp, 1020, 14 /* CC::al */, $noreg85    $r0 = tMOVr $r1, 14, $noreg86    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp87    t2STRDi8 $r0, $r1, $sp, 0, 14, $noreg88    t2STRDi8 $r0, $r1, $sp, 8, 14, $noreg89    t2STRDi8 $r0, $r1, $sp, 1012, 14, $noreg90    t2STRDi8 $r0, $r1, $sp, 1020, 14, $noreg91    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp92    t2STRDi8 $r0, $r1, $sp, 0, 14, $noreg93    t2STRDi8 $r0, $r1, $sp, 8, 14, $noreg94    t2STRDi8 $r0, $r1, $sp, 1012, 14, $noreg95    t2STRDi8 $r0, $r1, $sp, 1020, 14, $noreg96    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp97    t2STRDi8 $r0, $r1, $sp, 0, 14, $noreg98    t2STRDi8 $r0, $r1, $sp, 8, 14, $noreg99    t2STRDi8 $r0, $r1, $sp, 1012, 14, $noreg100    t2STRDi8 $r0, $r1, $sp, 1020, 14, $noreg101    BX_RET 14, $noreg102...103---104 105name:           CheckAddrModeT2_ldrex106tracksRegLiveness: true107 108body:             |109  bb.0:110    liveins: $r1111    ;CHECK-LABEL: name:           CheckAddrModeT2_ldrex112    ;CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_[[SHARED:[0-9+]]]113    ;CHECK-NEXT: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_[[LDREX:[0-9]+]]114    ;CHECK-NEXT: $r1 = t2LDREX $sp, 254, 14 /* CC::al */, $noreg115    $r0 = tMOVr $r1, 14, $noreg116    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp117    $r1 = t2LDREX $sp, 0, 14, $noreg118    $r1 = t2LDREX $sp, 8, 14, $noreg119    $r1 = t2LDREX $sp, 253, 14, $noreg120    $r1 = t2LDREX $sp, 254, 14, $noreg121    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp122    $r1 = t2LDREX $sp, 0, 14, $noreg123    $r1 = t2LDREX $sp, 8, 14, $noreg124    $r1 = t2LDREX $sp, 253, 14, $noreg125    $r1 = t2LDREX $sp, 254, 14, $noreg126    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp127    $r1 = t2LDREX $sp, 0, 14, $noreg128    $r1 = t2LDREX $sp, 8, 14, $noreg129    $r1 = t2LDREX $sp, 253, 14, $noreg130    $r1 = t2LDREX $sp, 254, 14, $noreg131    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp132    $r1 = t2LDREX $sp, 0, 14, $noreg133    $r1 = t2LDREX $sp, 8, 14, $noreg134    $r1 = t2LDREX $sp, 253, 14, $noreg135    $r1 = t2LDREX $sp, 254, 14, $noreg136    BX_RET 14, $noreg137...138---139 140name:           CheckAddrModeT1_s141tracksRegLiveness: true142 143body:             |144  bb.0:145    liveins: $r0, $r1146    ;CHECK-LABEL: name:           CheckAddrModeT1_s147    ;CHECK: tBL 14 /* CC::al */, $noreg, @OUTLINED_FUNCTION_[[SHARED:[0-9+]]]148    ;CHECK-NEXT: tSTRspi $r0, $sp, 0, 14 /* CC::al */, $noreg149    ;CHECK-NEXT: tSTRspi $r0, $sp, 4, 14 /* CC::al */, $noreg150    ;CHECK-NEXT: tSTRspi $r0, $sp, 253, 14 /* CC::al */, $noreg151    ;CHECK-NEXT: tSTRspi $r0, $sp, 254, 14 /* CC::al */, $noreg152    $r0 = tMOVr $r1, 14, $noreg153    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp154    tSTRspi $r0, $sp, 0, 14, $noreg155    tSTRspi $r0, $sp, 4, 14, $noreg156    tSTRspi $r0, $sp, 253, 14, $noreg157    tSTRspi $r0, $sp, 254, 14, $noreg158    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp159    tSTRspi $r0, $sp, 0, 14, $noreg160    tSTRspi $r0, $sp, 4, 14, $noreg161    tSTRspi $r0, $sp, 253, 14, $noreg162    tSTRspi $r0, $sp, 254, 14, $noreg163    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp164    tSTRspi $r0, $sp, 0, 14, $noreg165    tSTRspi $r0, $sp, 4, 14, $noreg166    tSTRspi $r0, $sp, 253, 14, $noreg167    tSTRspi $r0, $sp, 254, 14, $noreg168    tBL 14, $noreg, @foo, implicit-def dead $lr, implicit $sp169    tSTRspi $r0, $sp, 0, 14, $noreg170    tSTRspi $r0, $sp, 4, 14, $noreg171    tSTRspi $r0, $sp, 253, 14, $noreg172    tSTRspi $r0, $sp, 254, 14, $noreg173    BX_RET 14, $noreg174...175---176 177name:           foo178tracksRegLiveness: true179body:             |180  bb.0:181    liveins: $lr182 183    BX_RET 14, $noreg184 185    ;CHECK: name:           OUTLINED_FUNCTION_[[LDREX]]186    ;CHECK: $r1 = t2LDREX $sp, 0, 14 /* CC::al */, $noreg187    ;CHECK-NEXT: $r1 = t2LDREX $sp, 8, 14 /* CC::al */, $noreg188    ;CHECK-NEXT: $r1 = t2LDREX $sp, 253, 14 /* CC::al */, $noreg189    ;CHECK-NEXT: tBX_RET 14 /* CC::al */, $noreg190 191    ;CHECK: name:           OUTLINED_FUNCTION_[[I8]]192    ;CHECK: t2STRHT $r0, $sp, 0, 14 /* CC::al */, $noreg193    ;CHECK-NEXT: t2STRHT $r0, $sp, 4, 14 /* CC::al */, $noreg194    ;CHECK-NEXT: t2STRHT $r0, $sp, 247, 14 /* CC::al */, $noreg195    ;CHECK-NEXT: tBX_RET 14 /* CC::al */, $noreg196 197    ;CHECK: name:           OUTLINED_FUNCTION_[[I8S4]]198    ;CHECK: t2STRDi8 $r0, $r1, $sp, 0, 14 /* CC::al */, $noreg199    ;CHECK-NEXT: t2STRDi8 $r0, $r1, $sp, 8, 14 /* CC::al */, $noreg200    ;CHECK-NEXT: t2STRDi8 $r0, $r1, $sp, 1012, 14 /* CC::al */, $noreg201    ;CHECK-NEXT: tBX_RET 14 /* CC::al */, $nore202 203    ;CHECK: name:           OUTLINED_FUNCTION_[[I12]]204    ;CHECK: $r0 = t2LDRi12 $sp, 0, 14 /* CC::al */, $noreg205    ;CHECK-NEXT: $r0 = t2LDRi12 $sp, 4, 14 /* CC::al */, $noreg206    ;CHECK-NEXT: $r0 = t2LDRi12 $sp, 4086, 14 /* CC::al */, $noreg207    ;CHECK-NEXT: tBX_RET 14 /* CC::al */, $noreg208 209    ;CHECK: name:           OUTLINED_FUNCTION_[[SHARED]]210    ;CHECK: $r0 = tMOVr killed $r1, 14 /* CC::al */, $noreg211    ;CHECK-NEXT: tTAILJMPdND @foo, 14 /* CC::al */, $noreg, implicit $sp212