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