summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/xray-loop-detection.ll
diff options
context:
space:
mode:
authorDean Michael Berris <dberris@google.com>2017-08-23 04:49:41 +0000
committerDean Michael Berris <dberris@google.com>2017-08-23 04:49:41 +0000
commit0884b732202d043af4755d05aeb7fd3da8951a24 (patch)
treed0c2971364fbc3858cb0f2a72cb3f2f58901e42a /llvm/test/CodeGen/X86/xray-loop-detection.ll
parent71f88a955d30645d082ddd42d2215226f3ea8744 (diff)
downloadbcm5719-llvm-0884b732202d043af4755d05aeb7fd3da8951a24.tar.gz
bcm5719-llvm-0884b732202d043af4755d05aeb7fd3da8951a24.zip
[XRay][CodeGen] Use PIC-friendly code in XRay sleds; remove synthetic references in .text
Summary: This change achieves two things: - Redefine the Custom Event handling instrumentation points emitted by the compiler to not require dynamic relocation of references to the __xray_CustomEvent trampoline. - Remove the synthetic reference we emit at the end of a function that we used to keep auxiliary sections alive in favour of SHF_LINK_ORDER associated with the section where the function is defined. To achieve the custom event handling change, we've had to introduce the concept of sled versioning -- this will need to be supported by the runtime to allow us to understand how to turn on/off the new version of the custom event handling sleds. That change has to land first before we change the way we write the sleds. To remove the synthetic reference, we rely on a relatively new linker feature that preserves the sections that are associated with each other. This allows us to limit the effects on the .text section of ELF binaries. Because we're still using absolute references that are resolved at runtime for the instrumentation map (and function index) maps, we mark these sections write-able. In the future we can re-define the entries in the map to use relative relocations instead that can be statically determined by the linker. That change will be a bit more invasive so we defer this for later. Depends on D36816. Reviewers: dblaikie, echristo, pcc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36615 llvm-svn: 311525
Diffstat (limited to 'llvm/test/CodeGen/X86/xray-loop-detection.ll')
-rw-r--r--llvm/test/CodeGen/X86/xray-loop-detection.ll1
1 files changed, 0 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/xray-loop-detection.ll b/llvm/test/CodeGen/X86/xray-loop-detection.ll
index 3cd6b4aa6f8..12904d76770 100644
--- a/llvm/test/CodeGen/X86/xray-loop-detection.ll
+++ b/llvm/test/CodeGen/X86/xray-loop-detection.ll
@@ -19,5 +19,4 @@ Exit:
; CHECK-LABEL: xray_sled_0:
; CHECK-NEXT: .ascii "\353\t"
; CHECK-NEXT: nopw 512(%rax,%rax)
-; CHECK-LABEL: Ltmp0:
OpenPOWER on IntegriCloud