1; RUN: llc -filetype=asm -o - -mtriple=armv7-unknown-linux-gnu < %s | FileCheck %s
2; RUN: llc -filetype=asm -o - -mtriple=armv7-apple-ios6.0.0    < %s | FileCheck %s
3
4define i32 @callee() nounwind noinline uwtable "function-instrument"="xray-always" {
5; CHECK:       .p2align	2
6; CHECK-LABEL: Lxray_sled_0:
7; CHECK-NEXT:  b	#20
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	r0, #0
17; CHECK-NEXT:  .p2align	2
18; CHECK-LABEL: Lxray_sled_1:
19; CHECK-NEXT:  b	#20
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-LABEL: Ltmp1:
27; CHECK-NEXT:  bx	lr
28}
29
30define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-always" {
31; CHECK:       .p2align	2
32; CHECK-LABEL: Lxray_sled_2:
33; CHECK-NEXT:  b	#20
34; CHECK-NEXT:  nop
35; CHECK-NEXT:  nop
36; CHECK-NEXT:  nop
37; CHECK-NEXT:  nop
38; CHECK-NEXT:  nop
39; CHECK-NEXT:  nop
40; CHECK-LABEL: Ltmp4:
41; CHECK:       .p2align	2
42; CHECK-LABEL: Lxray_sled_3:
43; CHECK-NEXT:  b	#20
44; CHECK-NEXT:  nop
45; CHECK-NEXT:  nop
46; CHECK-NEXT:  nop
47; CHECK-NEXT:  nop
48; CHECK-NEXT:  nop
49; CHECK-NEXT:  nop
50; CHECK-LABEL: Ltmp5:
51  %retval = tail call i32 @callee()
52; CHECK:       b	{{.*}}callee
53  ret i32 %retval
54}
55