llvm-project/llvm/test/CodeGen/ARM/xray-armv6-attribute-instru...

34 lines
1.0 KiB
LLVM

; RUN: llc -filetype=asm -o - -mtriple=armv6-unknown-linux-gnu < %s | FileCheck %s
; RUN: llc -filetype=asm -o - -mtriple=armv6-apple-ios6.0.0 < %s | FileCheck %s
define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always" {
; CHECK-LABEL: Lxray_sled_0:
; CHECK-NEXT: b #20
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-LABEL: Ltmp0:
ret i32 0
; CHECK-LABEL: Lxray_sled_1:
; CHECK-NEXT: b #20
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-NEXT: mov r0, r0
; CHECK-LABEL: Ltmp1:
; CHECK-NEXT: bx lr
}
; CHECK-LABEL: xray_instr_map
; CHECK-LABEL: Lxray_sleds_start0:
; CHECK: .long {{.*}}Lxray_sled_0
; CHECK: .long {{.*}}Lxray_sled_1
; CHECK-LABEL: Lxray_sleds_end0:
; CHECK-LABEL: xray_fn_idx
; CHECK: .long {{.*}}Lxray_sleds_start0
; CHECK-NEXT: .long {{.*}}Lxray_sleds_end0