129 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-apple-unknown -run-pass=machine-outliner -verify-machineinstrs -enable-machine-outliner=always %s -o - | FileCheck %s3 4# Outlining CFI instructions is unsafe if it is not tail called, but otherwise,5# it requires fixups. Show that we don't include CFI instructions in non6# tail call outlined sequences right now. Show that we count CFI instructions7# correctly in the presence of debug info.8 9--- |10 define void @foo() #0 { ret void }11 define void @bar() #0 { ret void }12 define void @baz() #0 { ret void }13 attributes #0 = { noredzone }14 15...16---17name: foo18tracksRegLiveness: true19body: |20 bb.0:21 liveins: $lr22 ; CHECK-LABEL: name: foo23 ; CHECK: liveins: $lr24 ; CHECK-NEXT: {{ $}}25 ; CHECK-NEXT: $w9 = ORRWri $wzr, 126 ; CHECK-NEXT: $w10 = ORRWri $wzr, 227 ; CHECK-NEXT: $w11 = ORRWri $wzr, 328 ; CHECK-NEXT: DBG_VALUE $w9, $noreg29 ; CHECK-NEXT: DBG_VALUE $w9, $noreg30 ; CHECK-NEXT: DBG_VALUE $w9, $noreg31 ; CHECK-NEXT: DBG_VALUE $w9, $noreg32 ; CHECK-NEXT: DBG_VALUE $w9, $noreg33 ; CHECK-NEXT: DBG_VALUE $w9, $noreg34 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa $w29, 1635 ; CHECK-NEXT: $w20 = ORRWri $wzr, 136 ; CHECK-NEXT: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp37 $w9 = ORRWri $wzr, 138 $w10 = ORRWri $wzr, 239 $w11 = ORRWri $wzr, 340 DBG_VALUE $w9, $noreg41 DBG_VALUE $w9, $noreg42 DBG_VALUE $w9, $noreg43 DBG_VALUE $w9, $noreg44 DBG_VALUE $w9, $noreg45 DBG_VALUE $w9, $noreg46 frame-setup CFI_INSTRUCTION def_cfa $w29, 1647 $w20 = ORRWri $wzr, 148 $w12 = ORRWri $wzr, 149 $w13 = ORRWri $wzr, 250 $w14 = ORRWri $wzr, 351 $w15 = ORRWri $wzr, 452 RET undef $lr53...54---55name: bar56tracksRegLiveness: true57body: |58 bb.0:59 liveins: $lr60 ; CHECK-LABEL: name: bar61 ; CHECK: liveins: $lr62 ; CHECK-NEXT: {{ $}}63 ; CHECK-NEXT: $w9 = ORRWri $wzr, 164 ; CHECK-NEXT: $w10 = ORRWri $wzr, 265 ; CHECK-NEXT: $w11 = ORRWri $wzr, 366 ; CHECK-NEXT: DBG_VALUE $w9, $noreg67 ; CHECK-NEXT: DBG_VALUE $w9, $noreg68 ; CHECK-NEXT: DBG_VALUE $w9, $noreg69 ; CHECK-NEXT: DBG_VALUE $w9, $noreg70 ; CHECK-NEXT: DBG_VALUE $w9, $noreg71 ; CHECK-NEXT: DBG_VALUE $w9, $noreg72 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa $w29, 1673 ; CHECK-NEXT: $w21 = ORRWri $wzr, 174 ; CHECK-NEXT: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp75 $w9 = ORRWri $wzr, 176 $w10 = ORRWri $wzr, 277 $w11 = ORRWri $wzr, 378 DBG_VALUE $w9, $noreg79 DBG_VALUE $w9, $noreg80 DBG_VALUE $w9, $noreg81 DBG_VALUE $w9, $noreg82 DBG_VALUE $w9, $noreg83 DBG_VALUE $w9, $noreg84 frame-setup CFI_INSTRUCTION def_cfa $w29, 1685 $w21 = ORRWri $wzr, 186 $w12 = ORRWri $wzr, 187 $w13 = ORRWri $wzr, 288 $w14 = ORRWri $wzr, 389 $w15 = ORRWri $wzr, 490 RET undef $lr91...92---93name: baz94tracksRegLiveness: true95body: |96 bb.0:97 liveins: $lr98 ; CHECK-LABEL: name: baz99 ; CHECK: liveins: $lr100 ; CHECK-NEXT: {{ $}}101 ; CHECK-NEXT: $w9 = ORRWri $wzr, 1102 ; CHECK-NEXT: $w10 = ORRWri $wzr, 2103 ; CHECK-NEXT: $w11 = ORRWri $wzr, 3104 ; CHECK-NEXT: DBG_VALUE $w9, $noreg105 ; CHECK-NEXT: DBG_VALUE $w9, $noreg106 ; CHECK-NEXT: DBG_VALUE $w9, $noreg107 ; CHECK-NEXT: DBG_VALUE $w9, $noreg108 ; CHECK-NEXT: DBG_VALUE $w9, $noreg109 ; CHECK-NEXT: DBG_VALUE $w9, $noreg110 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa $w29, 16111 ; CHECK-NEXT: $w22 = ORRWri $wzr, 1112 ; CHECK-NEXT: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp113 $w9 = ORRWri $wzr, 1114 $w10 = ORRWri $wzr, 2115 $w11 = ORRWri $wzr, 3116 DBG_VALUE $w9, $noreg117 DBG_VALUE $w9, $noreg118 DBG_VALUE $w9, $noreg119 DBG_VALUE $w9, $noreg120 DBG_VALUE $w9, $noreg121 DBG_VALUE $w9, $noreg122 frame-setup CFI_INSTRUCTION def_cfa $w29, 16123 $w22 = ORRWri $wzr, 1124 $w12 = ORRWri $wzr, 1125 $w13 = ORRWri $wzr, 2126 $w14 = ORRWri $wzr, 3127 $w15 = ORRWri $wzr, 4128 RET undef $lr129