1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 21:42:54 +02:00
llvm-mirror/include/llvm/IR
Dean Michael Berris 5083dffff0 [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

llvm-svn: 302405
2017-05-08 05:45:21 +00:00
..
Argument.h [IR] Delete unused Argument::removeAttr overload 2017-04-28 17:58:18 +00:00
AssemblyAnnotationWriter.h
Attributes.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
Attributes.td Add speculatable function attribute 2017-04-28 20:25:27 +00:00
AutoUpgrade.h
BasicBlock.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
CallingConv.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
CallSite.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
CFG.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
CMakeLists.txt
Comdat.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Constant.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
ConstantFolder.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
ConstantRange.h [ConstantRange][SimplifyCFG] Add a helper method to allow SimplifyCFG to determine if a ConstantRange has more than 8 elements without requiring an allocation if the ConstantRange is 64-bits wide. 2017-05-07 22:22:11 +00:00
Constants.h [IR] Grammar police: "intact" is one word. NFC 2017-01-18 00:07:18 +00:00
DataLayout.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
DebugInfo.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
DebugInfoFlags.def Revert "Debug Info: Add basic support for external types references." 2017-03-13 22:56:14 +00:00
DebugInfoMetadata.h Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
DebugLoc.h Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00
DerivedTypes.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
DiagnosticInfo.h [Stack Protection] Add diagnostic information for why stack protection was applied to a function 2017-02-28 16:02:37 +00:00
DiagnosticPrinter.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
DIBuilder.h Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
Dominators.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
Function.h llvm/IR/Function.h: Prune an obsolete @param in r302060. [-Wdocumentation] 2017-05-04 02:01:18 +00:00
GetElementPtrTypeIterator.h Fix MSVC -Wmicrosoft-enum-value 'enumerator value is not representable' warning 2016-12-06 11:27:19 +00:00
GlobalAlias.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
GlobalIFunc.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
GlobalIndirectSymbol.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
GlobalObject.h [IR] Inline some Function accessors 2017-03-16 16:57:31 +00:00
GlobalValue.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
GlobalVariable.h [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
GVMaterializer.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
InlineAsm.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
InstIterator.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
InstrTypes.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
Instruction.def
Instruction.h [IR] Add AllowContract to FastMathFlags 2017-03-28 20:11:52 +00:00
Instructions.h [IR] Abstract away ArgNo+1 attribute indexing as much as possible 2017-05-03 18:17:31 +00:00
InstVisitor.h [IR/Analysis] Defend against getting slightly wrong template arguments 2017-02-07 03:17:30 +00:00
IntrinsicInst.h Make getParamAlignment use argument numbers 2017-04-28 20:34:27 +00:00
Intrinsics.h Support arbitrary address space pointers in masked gather/scatter intrinsics. 2017-05-03 12:28:54 +00:00
Intrinsics.td [XRay] Custom event logging intrinsic 2017-05-08 05:45:21 +00:00
IntrinsicsAArch64.td [AArch64] Add support for lowering bitreverse to the rbit instruction. 2017-01-10 17:20:33 +00:00
IntrinsicsAMDGPU.td AMDGPU: Make intrinsics speculatable 2017-05-02 16:57:44 +00:00
IntrinsicsARM.td [ARM] ACLE Chapter 9 intrinsics 2017-05-04 07:31:28 +00:00
IntrinsicsBPF.td
IntrinsicsHexagon.td [Hexagon] Add intrinsics for masked vector stores 2017-02-22 21:23:09 +00:00
IntrinsicsMips.td
IntrinsicsNVVM.td [NVPTX] Add intrinsics to support named barriers. 2017-01-28 16:38:15 +00:00
IntrinsicsPowerPC.td [PPC] cleanup of mayLoad/mayStore flags and memory operands. 2017-01-26 18:59:15 +00:00
IntrinsicsSystemZ.td [SystemZ] Support floating-point control register instructions 2016-12-02 18:21:53 +00:00
IntrinsicsWebAssembly.td [WebAssembly] Update grow_memory's return type. 2017-01-18 01:02:45 +00:00
IntrinsicsX86.td [X86][LWP] Add llvm support for LWP instructions (reapplied). 2017-05-03 15:51:39 +00:00
IntrinsicsXCore.td
IRBuilder.h Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
IRPrintingPasses.h
LegacyPassManager.h
LegacyPassManagers.h
LegacyPassNameParser.h
LLVMContext.h Add !associated metadata. 2017-03-17 22:17:24 +00:00
Mangler.h Move llvm::emitLinkerFlagsForGlobalCOFF() to Mangler. 2017-03-31 04:46:50 +00:00
MDBuilder.h Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
Metadata.def [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
Metadata.h Introducing LLVMMetadataRef 2017-04-17 11:52:54 +00:00
Module.h Update doc of the variadic version of getOrInsertFunction 2017-04-25 05:45:37 +00:00
ModuleSlotTracker.h
ModuleSummaryIndex.h Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI." 2017-05-04 18:03:25 +00:00
ModuleSummaryIndexYAML.h Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI." 2017-05-04 18:03:25 +00:00
NoFolder.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
OperandTraits.h
Operator.h [IR] Add AllowContract to FastMathFlags 2017-03-28 20:11:52 +00:00
OptBisect.h Remove opt-bisect support for "cases" in favor of debug counters 2017-03-11 01:41:03 +00:00
PassManager.h Revert r293017 and fix the actual underlying issue. 2017-02-07 01:50:48 +00:00
PassManagerInternal.h Avoid potential ADL ambiguity between llvm::make_unique and std::make_unique (when building as C++14+) 2017-03-20 16:35:33 +00:00
PatternMatch.h [APInt] Rename getSignBit to getSignMask 2017-04-20 16:56:25 +00:00
PredIteratorCache.h Make PredIteratorCache size() logically const. Do not require copying predecessors to get size. 2017-03-14 11:25:45 +00:00
ProfileSummary.h
Statepoint.h Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
SymbolTableListTraits.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
TrackingMDRef.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Type.h [IR] Inline Type::getScalarType() by using isVectorTy() and getVectorElementType() that were already available inline. 2017-04-08 05:47:09 +00:00
TypeBuilder.h
TypeFinder.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Use.h [IR] Put the Use list waymarking bits in the bit positions documentation says they are using 2017-04-17 18:12:30 +00:00
UseListOrder.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
User.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
Value.def
Value.h Handle invariant.group.barrier in BasicAA 2017-04-24 19:37:17 +00:00
ValueHandle.h Use a 2 bit pointer in ValueHandleBase::PrevPair; NFC 2017-05-01 17:36:12 +00:00
ValueMap.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-06 22:00:57 +00:00
ValueSymbolTable.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Verifier.h [TBAAVerifier] Make things const-consistent; NFC 2016-12-29 15:47:01 +00:00