blob: 3592499a03e5c493d16291b29a02f911cb7d74aa [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}
25; CHECK-LABEL: xray_instr_map,"awo",@progbits,.text,unique,1
26; 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:
40; CHECK-LABEL: xray_fn_idx,"awo",@progbits,.text,unique,1
41; CHECK: .p2align 4
42; CHECK-NEXT: .quad .Lxray_sleds_start0
43; CHECK-NEXT: .quad .Lxray_sleds_end0
44; CHECK-NEXT: .text