blob: 875c1775216bce10a17e16fc836932f838fb2cc0 [file] [log] [blame]
Dean Michael Berris711dec22017-09-08 01:47:56 +00001; RUN: llc -filetype=asm -o - -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s
2; RUN: llc -filetype=asm -o - -mtriple=powerpc64le-unknown-linux-gnu \
3; RUN: -relocation-model=pic < %s | FileCheck %s
4
5define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always" {
6; CHECK-LABEL: .Ltmp0:
7; CHECK: b .Ltmp1
8; CHECK-NEXT: nop
9; CHECK-NEXT: std 0, -8(1)
10; CHECK-NEXT: mflr 0
11; CHECK-NEXT: bl __xray_FunctionEntry
12; CHECK-NEXT: nop
13; CHECK-NEXT: mtlr 0
14; CHECK-LABEL: .Ltmp1:
15 ret i32 0
16; CHECK-LABEL: .Ltmp2:
17; CHECK: blr
18; CHECK-NEXT: nop
19; CHECK-NEXT: std 0, -8(1)
20; CHECK-NEXT: mflr 0
21; CHECK-NEXT: bl __xray_FunctionExit
22; CHECK-NEXT: nop
23; CHECK-NEXT: mtlr 0
24}
Dean Michael Berris01fd7c82017-09-14 07:08:23 +000025; CHECK-LABEL: xray_instr_map,"awo",@progbits,foo,unique,1
Dean Michael Berris711dec22017-09-08 01:47:56 +000026; CHECK: .Lxray_sleds_start0:
27; CHECK-NEXT: .quad .Ltmp0
28; CHECK-NEXT: .quad foo
29; CHECK-NEXT: .byte 0x00
30; CHECK-NEXT: .byte 0x01
31; CHECK-NEXT: .byte 0x00
32; CHECK-NEXT: .space 13
33; CHECK-NEXT: .quad .Ltmp2
34; CHECK-NEXT: .quad foo
35; CHECK-NEXT: .byte 0x01
36; CHECK-NEXT: .byte 0x01
37; CHECK-NEXT: .byte 0x00
38; CHECK-NEXT: .space 13
39; CHECK-NEXT: .Lxray_sleds_end0:
Dean Michael Berris01fd7c82017-09-14 07:08:23 +000040; CHECK-LABEL: xray_fn_idx,"awo",@progbits,foo,unique,1
Dean Michael Berris711dec22017-09-08 01:47:56 +000041; CHECK: .p2align 4
42; CHECK-NEXT: .quad .Lxray_sleds_start0
43; CHECK-NEXT: .quad .Lxray_sleds_end0
44; CHECK-NEXT: .text