85 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 -outliner-leaf-descendants=false %s -o - | FileCheck %s3 4# Outlining CFI instructions is unsafe if we cannot outline all of the CFI5# instructions from a function. This shows that we choose not to outline the6# CFI instructions since function foo has a CFI Instruction that would not7# be caught.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---16name: foo17tracksRegLiveness: true18body: |19 bb.0:20 liveins: $lr21 ; CHECK-LABEL: name: foo22 ; CHECK: liveins: $lr23 ; CHECK: frame-setup CFI_INSTRUCTION def_cfa $w28, 1624 ; CHECK: $w9 = ORRWri $wzr, 125 ; CHECK: $w10 = ORRWri $wzr, 226 ; CHECK: $w11 = ORRWri $wzr, 327 ; CHECK: frame-setup CFI_INSTRUCTION def_cfa $w29, 1628 ; CHECK: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp29 frame-setup CFI_INSTRUCTION def_cfa $w28, 1630 $w9 = ORRWri $wzr, 131 $w10 = ORRWri $wzr, 232 $w11 = ORRWri $wzr, 333 frame-setup CFI_INSTRUCTION def_cfa $w29, 1634 $w12 = ORRWri $wzr, 135 $w13 = ORRWri $wzr, 236 $w14 = ORRWri $wzr, 337 $w15 = ORRWri $wzr, 438 RET undef $lr39...40---41name: bar42tracksRegLiveness: true43body: |44 bb.0:45 liveins: $lr46 ; CHECK-LABEL: name: bar47 ; CHECK: liveins: $lr48 ; CHECK: $w9 = ORRWri $wzr, 149 ; CHECK: $w10 = ORRWri $wzr, 250 ; CHECK: $w11 = ORRWri $wzr, 351 ; CHECK: frame-setup CFI_INSTRUCTION def_cfa $w29, 1652 ; CHECK: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp53 $w9 = ORRWri $wzr, 154 $w10 = ORRWri $wzr, 255 $w11 = ORRWri $wzr, 356 frame-setup CFI_INSTRUCTION def_cfa $w29, 1657 $w12 = ORRWri $wzr, 158 $w13 = ORRWri $wzr, 259 $w14 = ORRWri $wzr, 360 $w15 = ORRWri $wzr, 461 RET undef $lr62...63---64name: baz65tracksRegLiveness: true66body: |67 bb.0:68 liveins: $lr69 ; CHECK-LABEL: name: baz70 ; CHECK: liveins: $lr71 ; CHECK: $w9 = ORRWri $wzr, 172 ; CHECK: $w10 = ORRWri $wzr, 273 ; CHECK: $w11 = ORRWri $wzr, 374 ; CHECK: frame-setup CFI_INSTRUCTION def_cfa $w29, 1675 ; CHECK: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp76 $w9 = ORRWri $wzr, 177 $w10 = ORRWri $wzr, 278 $w11 = ORRWri $wzr, 379 frame-setup CFI_INSTRUCTION def_cfa $w29, 1680 $w12 = ORRWri $wzr, 181 $w13 = ORRWri $wzr, 282 $w14 = ORRWri $wzr, 383 $w15 = ORRWri $wzr, 484 RET undef $lr85