1 # RUN: llc -enable-machine-outliner -start-before=aarch64-expand-pseudo -mtriple=arm64-apple-ios -o - %s | FileCheck %s
3 # The calls to _cb1 & _cb2 should be followed by the marker instruction
4 # 'mov x29, x29' and the attached call. Neither should get outlined.
9 # CHECK-NEXT: mov x29, x29
10 # CHECK-NEXT: bl _attachedcall
11 # CHECK: b _OUTLINED_FUNCTION_0
16 # CHECK-NEXT: mov x29, x29
17 # CHECK-NEXT: bl _attachedcall
18 # CHECK: b _OUTLINED_FUNCTION_0
20 # CHECK-LABEL: _OUTLINED_FUNCTION_0:
22 # CHECK-NEXT: orr w12, wzr, #0x3
23 # CHECK-NEXT: orr w12, wzr, #0x3
24 # CHECK-NEXT: orr w12, wzr, #0x3
25 # CHECK-NEXT: orr w12, wzr, #0x3
29 target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
30 target triple = "arm64-apple-ios"
44 declare ptr @attachedcall()
48 tracksRegLiveness: true
55 BLR_RVMARKER @attachedcall, @cb1, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $x0
67 tracksRegLiveness: true
72 liveins: $lr, $x19, $x20, $lr
74 BLR_RVMARKER @attachedcall, @cb2, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $x0