llvm with tablegen backend for capstone disassembler
Go to file
Dean Michael Berris c360f41097 [XRay][compiler-rt] Implement logging implementation registration
Summary:
This change allows for registration of multiple logging implementations
through a central mechanism in XRay, mapping an implementation to a
"mode". Modes are strings that are used as keys to determine which
implementation to install through a single API. This mechanism allows
users to choose which implementation to install either from the
environment variable 'XRAY_OPTIONS' with the `xray_mode=` flag, or
programmatically using the `__xray_select_mode(...)` function.

Here, we introduce two API functions for the XRay logging:

__xray_log_register_mode(Mode, Impl): Associates an XRayLogImpl to a
string Mode. We can only have one implementation associated with a given
Mode.

__xray_log_select_mode(Mode): Finds the associated Impl for Mode and
installs it as if by calling `__xray_set_log_impl(...)`.

Along with these changes, we also deprecate the xray_naive_log and
xray_fdr_log flags and encourage users to instead use the xray_mode
flag.

Reviewers: kpw, dblaikie, eizan, pelikan

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D40703

llvm-svn: 319759
2017-12-05 12:08:56 +00:00
clang [clang-format] Releasenotes for rL319024 : Add option to group multiple #include blocks when sorting includes 2017-12-05 09:23:47 +00:00
clang-tools-extra [clangd] Set completion options per-request. 2017-12-05 10:42:57 +00:00
compiler-rt [XRay][compiler-rt] Implement logging implementation registration 2017-12-05 12:08:56 +00:00
debuginfo-tests Re-revert "Refactor debuginfo-tests." 2017-11-21 01:20:28 +00:00
libclc configure.py: Add gfx900 (Vega, Raven) 2017-11-27 11:14:06 +00:00
libcxx Land D28253 which fixes PR28929 (which we mistakenly marked as fixed before) 2017-12-05 04:09:49 +00:00
libcxxabi [libcxxabi] Set up .arcconfig to point to new Diffusion CXXA repository 2017-12-04 23:14:03 +00:00
libunwind [libunwind] Switch to add_llvm_install_targets 2017-11-30 23:24:08 +00:00
lld [ELF] InX::BssRelRo should check section contents before marking relro 2017-12-05 11:15:58 +00:00
lldb Add target.process.stop-on-exec setting, and obey it. 2017-12-05 02:50:45 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [X86][AVX512] Cleanup VPCMP scheduler classes 2017-12-05 12:02:22 +00:00
openmp [CMake] Detect information about test compiler 2017-11-30 17:08:31 +00:00
parallel-libs
polly Update to latest clang-format. [NFC] 2017-12-05 00:06:09 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.