[XRay] Custom event logging intrinsic

Description

[XRay] Custom event logging intrinsic

This patch introduces an LLVM intrinsic and a target opcode for custom event
logging in XRay. Initially, its use case will be to allow users of XRay to log
some type of string ("poor man's printf"). The target opcode compiles to a noop
sled large enough to enable calling through to a runtime-determined relative
function call. At runtime, when X-Ray is enabled, the sled is replaced by
compiler-rt with a trampoline to the logic for creating the custom log entries.

Future patches will implement the compiler-rt parts and clang-side support for
emitting the IR corresponding to this intrinsic.

Reviewers: timshen, dberris

Subscribers: igorb, pelikan, rSerge, timshen, echristo, dberris, llvm-commits

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

Details

Committed
dberrisMay 7 2017, 10:45 PM
Differential Revision
D27503: [XRay] Custom event logging intrinsic
Parents
rL302404: [SCEV] Use APInt::operator*=(uint64_t) to avoid a temporary APInt for a…
Branches
Unknown
Tags
Unknown