1 ; RUN: llc -verify-machineinstrs -enable-machine-outliner -mtriple=x86_64-apple-darwin < %s | FileCheck %s 2 3 @x = common local_unnamed_addr global i32 0, align 4 4 5 define i32 @foo0(i32) local_unnamed_addr #0 { 6 ; CHECK-LABEL: _foo0: 7 ; CHECK: jmp 8 ; CHECK-SAME: OUTLINED_FUNCTION_0 9 ; CHECK-NEXT: .cfi_endproc 10 store i32 0, i32* @x, align 4, !tbaa !2 11 %2 = tail call i32 @ext(i32 1) #2 12 ret i32 undef 13 } 14 15 declare i32 @ext(i32) local_unnamed_addr #1 16 17 define i32 @foo1(i32) local_unnamed_addr #0 { 18 ; CHECK-LABEL: _foo1: 19 ; CHECK: jmp 20 ; CHECK-SAME: OUTLINED_FUNCTION_0 21 ; CHECK-NEXT: .cfi_endproc 22 store i32 0, i32* @x, align 4, !tbaa !2 23 %2 = tail call i32 @ext(i32 1) #2 24 ret i32 undef 25 } 26 27 attributes #0 = { noredzone nounwind ssp uwtable "no-frame-pointer-elim"="false" } 28 29 !2 = !{!3, !3, i64 0} 30 !3 = !{!"int", !4, i64 0} 31 !4 = !{!"omnipotent char", !5, i64 0} 32 !5 = !{!"Simple C/C++ TBAA"} 33 34 ; CHECK: OUTLINED_FUNCTION_0: 35 ; CHECK-DAG: movl $0, (%rax) 36 ; CHECK-NEXT: movl $1, %edi 37 ; CHECK-NEXT: jmp _ext 38