Author: hans Date: Fri Jan 27 10:17:56 2017 New Revision: 293295 URL: http://llvm.org/viewvc/llvm-project?rev=293295&view=rev Log: Merging r292516: ------------------------------------------------------------------------ r292516 | rserge | 2017-01-19 12:24:23 -0800 (Thu, 19 Jan 2017) | 14 lines
[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 ------------------------------------------------------------------------ Modified: llvm/branches/release_40/ (props changed) llvm/branches/release_40/lib/Target/ARM/ARMAsmPrinter.cpp llvm/branches/release_40/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll llvm/branches/release_40/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll Propchange: llvm/branches/release_40/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Jan 27 10:17:56 2017 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,291858-291859,291863,291875,291909,291966,291968,291979,292133,292242,292254-292255,292280,292323,292444,292467,292583,292625,292641,292651,292667,292711,292758,293025,293291,293293 +/llvm/trunk:155241,291858-291859,291863,291875,291909,291966,291968,291979,292133,292242,292254-292255,292280,292323,292444,292467,292516,292583,292625,292641,292651,292667,292711,292758,293025,293291,293293 Modified: llvm/branches/release_40/lib/Target/ARM/ARMAsmPrinter.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_40/lib/Target/ARM/ARMAsmPrinter.cpp?rev=293295&r1=293294&r2=293295&view=diff ============================================================================== --- llvm/branches/release_40/lib/Target/ARM/ARMAsmPrinter.cpp (original) +++ llvm/branches/release_40/lib/Target/ARM/ARMAsmPrinter.cpp Fri Jan 27 10:17:56 2017 @@ -164,6 +164,9 @@ bool ARMAsmPrinter::runOnMachineFunction // 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. Modified: llvm/branches/release_40/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_40/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll?rev=293295&r1=293294&r2=293295&view=diff ============================================================================== --- llvm/branches/release_40/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll (original) +++ llvm/branches/release_40/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll Fri Jan 27 10:17:56 2017 @@ -23,3 +23,9 @@ define i32 @foo() nounwind noinline uwta ; 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 Modified: llvm/branches/release_40/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_40/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll?rev=293295&r1=293294&r2=293295&view=diff ============================================================================== --- llvm/branches/release_40/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll (original) +++ llvm/branches/release_40/test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll Fri Jan 27 10:17:56 2017 @@ -23,3 +23,9 @@ define i32 @foo() nounwind noinline uwta ; 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 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits