# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=aarch64-apple-unknown -run-pass=machine-outliner -verify-machineinstrs %s -o - | FileCheck %s

# Outlining CFI instructions is unsafe if we cannot outline all of the CFI
# instructions from a function.  This shows that we choose not to outline the
# CFI instructions since function foo has a CFI Instruction that would not
# be caught.

--- |
  define void @foo() #0 { ret void }
  define void @bar() #0 { ret void }
  define void @baz() #0 { ret void }
  attributes #0 = { noredzone }
...
---
name:            foo
tracksRegLiveness: true
body:             |
  bb.0:
  liveins: $lr
    ; CHECK-LABEL: name: foo
    ; CHECK: liveins: $lr
    ; CHECK: frame-setup CFI_INSTRUCTION def_cfa $w28, 16
    ; CHECK: $w9 = ORRWri $wzr, 1
    ; CHECK: $w10 = ORRWri $wzr, 2
    ; CHECK: $w11 = ORRWri $wzr, 3
    ; CHECK: frame-setup CFI_INSTRUCTION def_cfa $w29, 16
    ; CHECK: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp
    frame-setup CFI_INSTRUCTION def_cfa $w28, 16
    $w9 = ORRWri $wzr, 1
    $w10 = ORRWri $wzr, 2
    $w11 = ORRWri $wzr, 3
    frame-setup CFI_INSTRUCTION def_cfa $w29, 16
    $w12 = ORRWri $wzr, 1
    $w13 = ORRWri $wzr, 2
    $w14 = ORRWri $wzr, 3
    $w15 = ORRWri $wzr, 4
    RET undef $lr
...
---
name:            bar
tracksRegLiveness: true
body:             |
  bb.0:
  liveins: $lr
    ; CHECK-LABEL: name: bar
    ; CHECK: liveins: $lr
    ; CHECK: $w9 = ORRWri $wzr, 1
    ; CHECK: $w10 = ORRWri $wzr, 2
    ; CHECK: $w11 = ORRWri $wzr, 3
    ; CHECK: frame-setup CFI_INSTRUCTION def_cfa $w29, 16
    ; CHECK: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp
    $w9 = ORRWri $wzr, 1
    $w10 = ORRWri $wzr, 2
    $w11 = ORRWri $wzr, 3
    frame-setup CFI_INSTRUCTION def_cfa $w29, 16
    $w12 = ORRWri $wzr, 1
    $w13 = ORRWri $wzr, 2
    $w14 = ORRWri $wzr, 3
    $w15 = ORRWri $wzr, 4
    RET undef $lr
...
---
name:            baz
tracksRegLiveness: true
body:             |
  bb.0:
  liveins: $lr
    ; CHECK-LABEL: name: baz
    ; CHECK: liveins: $lr
    ; CHECK: $w9 = ORRWri $wzr, 1
    ; CHECK: $w10 = ORRWri $wzr, 2
    ; CHECK: $w11 = ORRWri $wzr, 3
    ; CHECK: frame-setup CFI_INSTRUCTION def_cfa $w29, 16
    ; CHECK: TCRETURNdi @OUTLINED_FUNCTION_0, 0, implicit $sp, implicit-def $w12, implicit-def $w13, implicit-def $w14, implicit-def $w15, implicit $wzr, implicit $sp
    $w9 = ORRWri $wzr, 1
    $w10 = ORRWri $wzr, 2
    $w11 = ORRWri $wzr, 3
    frame-setup CFI_INSTRUCTION def_cfa $w29, 16
    $w12 = ORRWri $wzr, 1
    $w13 = ORRWri $wzr, 2
    $w14 = ORRWri $wzr, 3
    $w15 = ORRWri $wzr, 4
    RET undef $lr
