[PATCH] D28624: [XRay][Arm] Repair XRay table emission on Arm32 and add tests to identify such problem earlier

Serge Rogatch via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 19 12:34:53 PST 2017


rSerge updated this revision to Diff 85011.
rSerge added a comment.

Just submitting the same changes trying to workaround a glitch in Arcanist...


https://reviews.llvm.org/D28624

Files:
  lib/Target/ARM/ARMAsmPrinter.cpp
  test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
  test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll


Index: test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll
===================================================================
--- test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll
+++ test/CodeGen/ARM/xray-armv7-attribute-instrumentation.ll
@@ -23,3 +23,9 @@
 ; 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
Index: test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
===================================================================
--- test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
+++ test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
@@ -23,3 +23,9 @@
 ; 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
Index: lib/Target/ARM/ARMAsmPrinter.cpp
===================================================================
--- lib/Target/ARM/ARMAsmPrinter.cpp
+++ lib/Target/ARM/ARMAsmPrinter.cpp
@@ -164,6 +164,9 @@
   // 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.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28624.85011.patch
Type: text/x-patch
Size: 1696 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170119/1f9be6ec/attachment.bin>


More information about the llvm-commits mailing list