| ; RUN: llc -filetype=asm -o - -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s | |
| ; RUN: llc -filetype=asm -o - -mtriple=powerpc64le-unknown-linux-gnu \ | |
| ; RUN: -relocation-model=pic < %s | FileCheck %s | |
| define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always" { | |
| ; CHECK-LABEL: .Ltmp0: | |
| ; CHECK: b .Ltmp1 | |
| ; CHECK-NEXT: nop | |
| ; CHECK-NEXT: std 0, -8(1) | |
| ; CHECK-NEXT: mflr 0 | |
| ; CHECK-NEXT: bl __xray_FunctionEntry | |
| ; CHECK-NEXT: nop | |
| ; CHECK-NEXT: mtlr 0 | |
| ; CHECK-LABEL: .Ltmp1: | |
| ret i32 0 | |
| ; CHECK-LABEL: .Ltmp2: | |
| ; CHECK: blr | |
| ; CHECK-NEXT: nop | |
| ; CHECK-NEXT: std 0, -8(1) | |
| ; CHECK-NEXT: mflr 0 | |
| ; CHECK-NEXT: bl __xray_FunctionExit | |
| ; CHECK-NEXT: nop | |
| ; CHECK-NEXT: mtlr 0 | |
| } | |
| ; CHECK-LABEL: xray_instr_map,"awo",@progbits,foo,unique,1 | |
| ; CHECK: .Lxray_sleds_start0: | |
| ; CHECK-NEXT: .quad .Ltmp0 | |
| ; CHECK-NEXT: .quad foo | |
| ; CHECK-NEXT: .byte 0x00 | |
| ; CHECK-NEXT: .byte 0x01 | |
| ; CHECK-NEXT: .byte 0x00 | |
| ; CHECK-NEXT: .space 13 | |
| ; CHECK-NEXT: .quad .Ltmp2 | |
| ; CHECK-NEXT: .quad foo | |
| ; CHECK-NEXT: .byte 0x01 | |
| ; CHECK-NEXT: .byte 0x01 | |
| ; CHECK-NEXT: .byte 0x00 | |
| ; CHECK-NEXT: .space 13 | |
| ; CHECK-NEXT: .Lxray_sleds_end0: | |
| ; CHECK-LABEL: xray_fn_idx,"awo",@progbits,foo,unique,1 | |
| ; CHECK: .p2align 4 | |
| ; CHECK-NEXT: .quad .Lxray_sleds_start0 | |
| ; CHECK-NEXT: .quad .Lxray_sleds_end0 | |
| ; CHECK-NEXT: .text |