1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=aarch64-apple-unknown -run-pass=machine-outliner -verify-machineinstrs %s -o - | FileCheck %s
4 # Outlining CFI instructions is unsafe if it is not tail called, but otherwise,
5 # it requires fixups. Show that we include CFI instructions in tail call
6 # outlined sequences right now.
9 define void @foo() #0 { ret void }
10 define void @bar() #0 { ret void }
11 define void @baz() #0 { ret void }
12 attributes #0 = { noredzone }
16 tracksRegLiveness: true
20 ; CHECK-LABEL: name: foo
22 ; CHECK: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w9, implicit-def $w10, implicit-def $w11, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp
26 frame-setup CFI_INSTRUCTION def_cfa $w29, 16
35 tracksRegLiveness: true
39 ; CHECK-LABEL: name: bar
41 ; CHECK: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w9, implicit-def $w10, implicit-def $w11, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp
45 frame-setup CFI_INSTRUCTION def_cfa $w29, 16
54 tracksRegLiveness: true
58 ; CHECK-LABEL: name: baz
60 ; CHECK: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w9, implicit-def $w10, implicit-def $w11, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp
64 frame-setup CFI_INSTRUCTION def_cfa $w29, 16