brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 4b758a3 Raw
115 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=arm-- -run-pass=machine-outliner -verify-machineinstrs \3# RUN: %s -o - | FileCheck %s4 5--- |6  define void @outline_cpsr_r12_ok() #0 { ret void }7  define void @dont_outline_cpsr_r12_1() #0 { ret void }8  define void @dont_outline_cpsr_r12_2() #0 { ret void }9  declare void @z(i32, i32, i32, i32)10 11  attributes #0 = { minsize optsize }12...13---14 15name:           outline_cpsr_r12_ok16tracksRegLiveness: true17body:             |18  ; CHECK-LABEL: name: outline_cpsr_r12_ok19  ; CHECK: bb.0:20  ; CHECK:   BL @OUTLINED_FUNCTION_021  ; CHECK:   $r3 = MOVr $r12, 14 /* CC::al */, $noreg, $noreg22  ; CHECK: bb.1:23  ; CHECK:   BL @OUTLINED_FUNCTION_024  ; CHECK:   $r4 = MOVr $r12, 14 /* CC::al */, $noreg, $noreg25  bb.0:26    $r12 = MOVi 1, 14, $noreg, $noreg27    CMPri $r12, 42, 14, $noreg, implicit-def $cpsr28    $r0 = MOVi 1, 14, $noreg, $noreg29    $r1 = MOVi 1, 14, $noreg, $noreg30    $r2 = MOVi 1, 14, $noreg, $noreg31    $r3 = MOVi 1, 14, $noreg, $noreg32    BL @z33    $r3 = MOVr $r12, 14, $noreg, $noreg34  bb.1:35    $r12 = MOVi 1, 14, $noreg, $noreg36    CMPri $r12, 42, 14, $noreg, implicit-def $cpsr37    $r0 = MOVi 1, 14, $noreg, $noreg38    $r1 = MOVi 1, 14, $noreg, $noreg39    $r2 = MOVi 1, 14, $noreg, $noreg40    $r3 = MOVi 1, 14, $noreg, $noreg41    BL @z42    $r4 = MOVr $r12, 14, $noreg, $noreg43  bb.2:44    BX_RET 14, $noreg45...46---47 48name:           dont_outline_cpsr_r12_149tracksRegLiveness: true50body:             |51  ; CHECK-LABEL: name: dont_outline_cpsr_r12_152  ; CHECK:  bb.0:53  ; CHECK:    BL @OUTLINED_FUNCTION_154  ; CHECK:  bb.1:55  ; CHECK:    BL @OUTLINED_FUNCTION_156  ; CHECK-LABEL: bb.2:57  ; CHECK-NOT: BL @OUTLINED_FUNCTION_158  bb.0:59    $r0 = MOVi 2, 14, $noreg, $noreg60    $r1 = MOVi 2, 14, $noreg, $noreg61    $r2 = MOVi 2, 14, $noreg, $noreg62    $r3 = MOVi 2, 14, $noreg, $noreg63    BL @z64  bb.1:65    $r0 = MOVi 2, 14, $noreg, $noreg66    $r1 = MOVi 2, 14, $noreg, $noreg67    $r2 = MOVi 2, 14, $noreg, $noreg68    $r3 = MOVi 2, 14, $noreg, $noreg69    BL @z70  bb.2:71    $r12 = MOVi 1, 14, $noreg, $noreg72    CMPri $r12, 42, 14, $noreg, implicit-def $cpsr73    $r0 = MOVi 2, 14, $noreg, $noreg74    $r1 = MOVi 2, 14, $noreg, $noreg75    $r2 = MOVi 2, 14, $noreg, $noreg76    $r3 = MOVi 2, 14, $noreg, $noreg77    BL @z78  bb.3:79    liveins: $cpsr, $r1280    BX_RET 14, $noreg81...82---83 84name:           dont_outline_cpsr_r12_285tracksRegLiveness: true86body:             |87  ; CHECK-LABEL: name: dont_outline_cpsr_r12_288  ; CHECK-NOT: BL @OUTLINED_FUNCTION89  bb.0:90    liveins: $r1291    CMPri $r12, 42, 14, $noreg, implicit-def $cpsr92    $r0 = MOVi 3, 14, $noreg, $noreg93    $r1 = MOVi 3, 14, $noreg, $noreg94    $r2 = MOVi 3, 14, $noreg, $noreg95    $r3 = MOVi 3, 14, $noreg, $noreg96    BL @z97  bb.1:98    liveins: $r1299    CMPri $r12, 42, 14, $noreg, implicit-def $cpsr100    $r0 = MOVi 3, 14, $noreg, $noreg101    $r1 = MOVi 3, 14, $noreg, $noreg102    $r2 = MOVi 3, 14, $noreg, $noreg103    $r3 = MOVi 3, 14, $noreg, $noreg104    BL @z105  bb.2:106    liveins: $r12107    CMPri $r12, 42, 14, $noreg, implicit-def $cpsr108    $r0 = MOVi 3, 14, $noreg, $noreg109    $r1 = MOVi 3, 14, $noreg, $noreg110    $r2 = MOVi 3, 14, $noreg, $noreg111    $r3 = MOVi 3, 14, $noreg, $noreg112    BL @z113  bb.3:114    BX_RET 14, $noreg115