SuccessChanges

Summary

  1. [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
Revision 302405 by dberris:
[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
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/AsmPrinter.h (diff)llvm-revision.src/llvm/trunk/include/llvm/CodeGen/AsmPrinter.h
The file was modified/llvm/trunk/include/llvm/CodeGen/FastISel.h (diff)llvm-revision.src/llvm/trunk/include/llvm/CodeGen/FastISel.h
The file was modified/llvm/trunk/include/llvm/IR/Intrinsics.td (diff)llvm-revision.src/llvm/trunk/include/llvm/IR/Intrinsics.td
The file was modified/llvm/trunk/include/llvm/Target/Target.td (diff)llvm-revision.src/llvm/trunk/include/llvm/Target/Target.td
The file was modified/llvm/trunk/include/llvm/Target/TargetOpcodes.def (diff)llvm-revision.src/llvm/trunk/include/llvm/Target/TargetOpcodes.def
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86AsmPrinter.h (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86AsmPrinter.h
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86MCInstLower.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86MCInstLower.cpp
The file was added/llvm/trunk/test/CodeGen/X86/xray-custom-log.llllvm-revision.src/llvm/trunk/test/CodeGen/X86/xray-custom-log.ll