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