forked from OSchip/llvm-project
[XRay][Arm] Repair XRay table emission on Arm32 and add tests to identify such problem earlier
Summary: Emission of XRay table was occasionally disabled for Arm32, but this bug was not then detected because earlier (also by mistake) testing of XRay was occasionally disabled on 32-bit Arm targets. This patch should fix that problem and detect such problems in the future. This patch is one of a series, see also - https://reviews.llvm.org/D28623 Reviewers: rengolin, dberris Reviewed By: dberris Subscribers: llvm-commits, aemerson, rengolin, dberris, iid_iunknown Differential Revision: https://reviews.llvm.org/D28624 llvm-svn: 292516
This commit is contained in:
parent
9245e12f95
commit
f83d2a25bf
|
@ -164,6 +164,9 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
|||
// Emit the rest of the function body.
|
||||
EmitFunctionBody();
|
||||
|
||||
// Emit the XRay table for this function.
|
||||
emitXRayTable();
|
||||
|
||||
// If we need V4T thumb mode Register Indirect Jump pads, emit them.
|
||||
// These are created per function, rather than per TU, since it's
|
||||
// relatively easy to exceed the thumb branch range within a TU.
|
||||
|
|
|
@ -23,3 +23,9 @@ define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always"
|
|||
; CHECK-LABEL: Ltmp1:
|
||||
; CHECK-NEXT: bx lr
|
||||
}
|
||||
; CHECK: .p2align 4
|
||||
; CHECK-NEXT: .long {{.*}}Lxray_synthetic_0
|
||||
; CHECK-NEXT: .section {{.*}}xray_instr_map{{.*}}
|
||||
; CHECK-LABEL: Lxray_synthetic_0:
|
||||
; CHECK: .long {{.*}}Lxray_sled_0
|
||||
; CHECK: .long {{.*}}Lxray_sled_1
|
||||
|
|
|
@ -23,3 +23,9 @@ define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always"
|
|||
; CHECK-LABEL: Ltmp1:
|
||||
; CHECK-NEXT: bx lr
|
||||
}
|
||||
; CHECK: .p2align 4
|
||||
; CHECK-NEXT: .long {{.*}}Lxray_synthetic_0
|
||||
; CHECK-NEXT: .section {{.*}}xray_instr_map{{.*}}
|
||||
; CHECK-LABEL: Lxray_synthetic_0:
|
||||
; CHECK: .long {{.*}}Lxray_sled_0
|
||||
; CHECK: .long {{.*}}Lxray_sled_1
|
||||
|
|
Loading…
Reference in New Issue