1; When logging arguments is specified, emit the entry sled accordingly. 2 3; RUN: llc -verify-machineinstrs -filetype=asm -o - -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s 4; RUN: llc -verify-machineinstrs -filetype=asm -o - -mtriple=x86_64-darwin-unknown < %s | FileCheck %s 5 6define i32 @callee(i32 %arg) nounwind noinline uwtable "function-instrument"="xray-always" "xray-log-args"="1" { 7 ret i32 %arg 8} 9; CHECK-LABEL: callee: 10; CHECK-NEXT: Lfunc_begin0: 11 12; CHECK-LABEL: Lxray_sleds_start0: 13; CHECK-NEXT: Ltmp0: 14; CHECK-NEXT: .quad {{\.?}}Lxray_sled_0-{{\.?}}Ltmp0 15; CHECK-NEXT: .quad {{\.?}}Lfunc_begin0-({{\.?}}Ltmp0+8) 16; CHECK-NEXT: .byte 0x03 17; CHECK-NEXT: .byte 0x01 18; CHECK-NEXT: .byte 0x02 19; CHECK: .{{(zero|space)}} 13 20; CHECK: Ltmp1: 21; CHECK-NEXT: .quad {{\.?}}Lxray_sled_1-{{\.?}}Ltmp1 22; CHECK-NEXT: .quad {{\.?}}Lfunc_begin0-({{\.?}}Ltmp1+8) 23; CHECK-NEXT: .byte 0x01 24; CHECK-NEXT: .byte 0x01 25; CHECK-NEXT: .byte 0x02 26; CHECK: .{{(zero|space)}} 13 27 28define i32 @caller(i32 %arg) nounwind noinline uwtable "function-instrument"="xray-always" "xray-log-args"="1" { 29 %retval = tail call i32 @callee(i32 %arg) 30 ret i32 %retval 31} 32; CHECK-LABEL: Lxray_sleds_start1: 33; CHECK-NEXT: Ltmp3: 34; CHECK-NEXT: .quad {{\.?}}Lxray_sled_2-{{\.?}}Ltmp3 35; CHECK-NEXT: .quad {{\.?}}Lfunc_begin1-({{\.?}}Ltmp3+8) 36; CHECK-NEXT: .byte 0x03 37; CHECK-NEXT: .byte 0x01 38; CHECK-NEXT: .byte 0x02 39; CHECK: .{{(zero|space)}} 13 40; CHECK: Ltmp4: 41; CHECK-NEXT: .quad {{\.?}}Lxray_sled_3-{{\.?}}Ltmp4 42; CHECK-NEXT: .quad {{\.?}}Lfunc_begin1-({{\.?}}Ltmp4+8) 43; CHECK-NEXT: .byte 0x02 44; CHECK-NEXT: .byte 0x01 45; CHECK-NEXT: .byte 0x02 46; CHECK: .{{(zero|space)}} 13 47