• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -filetype=asm -o - -mtriple=aarch64-linux-gnu < %s | FileCheck %s
2
3define i32 @callee() nounwind noinline uwtable "function-instrument"="xray-always" {
4; CHECK:       .p2align	2
5; CHECK-LABEL: .Lxray_sled_0:
6; CHECK-NEXT:  b	#32
7; CHECK-NEXT:  nop
8; CHECK-NEXT:  nop
9; CHECK-NEXT:  nop
10; CHECK-NEXT:  nop
11; CHECK-NEXT:  nop
12; CHECK-NEXT:  nop
13; CHECK-NEXT:  nop
14; CHECK-LABEL: .Ltmp0:
15  ret i32 0
16; CHECK-NEXT:  mov	w0, wzr
17; CHECK-NEXT:  .p2align	2
18; CHECK-LABEL: .Lxray_sled_1:
19; CHECK-NEXT:  b	#32
20; CHECK-NEXT:  nop
21; CHECK-NEXT:  nop
22; CHECK-NEXT:  nop
23; CHECK-NEXT:  nop
24; CHECK-NEXT:  nop
25; CHECK-NEXT:  nop
26; CHECK-NEXT:  nop
27; CHECK-LABEL: .Ltmp1:
28; CHECK-NEXT:  ret
29}
30; CHECK-LABEL: xray_instr_map
31; CHECK-LABEL: .Lxray_sleds_start0:
32; CHECK-NEXT:  .Ltmp2:
33; CHECK:       .xword .Lxray_sled_0-.Ltmp2
34; CHECK:       .Ltmp3:
35; CHECK-NEXT:  .xword .Lxray_sled_1-.Ltmp3
36; CHECK-LABEL: Lxray_sleds_end0:
37; CHECK-LABEL: xray_fn_idx
38; CHECK:       .xword .Lxray_sleds_start0
39; CHECK-NEXT:  .xword .Lxray_sleds_end0
40
41define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-always" {
42; CHECK:       .p2align	2
43; CHECK-LABEL: Lxray_sled_2:
44; CHECK-NEXT:  b	#32
45; CHECK-NEXT:  nop
46; CHECK-NEXT:  nop
47; CHECK-NEXT:  nop
48; CHECK-NEXT:  nop
49; CHECK-NEXT:  nop
50; CHECK-NEXT:  nop
51; CHECK-NEXT:  nop
52; CHECK-LABEL: .Ltmp4:
53; CHECK:       .p2align	2
54; CHECK-LABEL: Lxray_sled_3:
55; CHECK-NEXT:  b	#32
56; CHECK-NEXT:  nop
57; CHECK-NEXT:  nop
58; CHECK-NEXT:  nop
59; CHECK-NEXT:  nop
60; CHECK-NEXT:  nop
61; CHECK-NEXT:  nop
62; CHECK-NEXT:  nop
63; CHECK-LABEL: .Ltmp5:
64  %retval = tail call i32 @callee()
65; CHECK:       b	callee
66  ret i32 %retval
67}
68; CHECK-LABEL: xray_instr_map
69; CHECK-LABEL: Lxray_sleds_start1:
70; CHECK:       .xword .Lxray_sled_2
71; CHECK:       .xword .Lxray_sled_3
72; CHECK-LABEL: Lxray_sleds_end1:
73; CHECK:       .section xray_fn_idx,{{.*}}
74; CHECK:       .xword .Lxray_sleds_start1
75; CHECK-NEXT:  .xword .Lxray_sleds_end1
76