LLVM: include/llvm/Transforms/Utils/Instrumentation.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_TRANSFORMS_INSTRUMENTATION_H
14#define LLVM_TRANSFORMS_INSTRUMENTATION_H
15
23#include
24#include
25#include
26#include
27
28namespace llvm {
29
35
36
38
39
40
41
42
43
46
47
49 bool AllowMerging,
50 Twine NamePrefix = "");
51
52
53
54
56
57
58
59
62
63
66
67
69
70
72
73
74
76
77
79
80
82
83
85
86
88};
89
90
91
92
93
94
96
97
98
99
100
101
102
103
104
105
106
107
108
109
112 bool AttachProfToDirectCall,
114}
115
116
118
120
121
123
124
126
127
129
130
132
133
135
137};
138
139
141
142
171
172
173
174
175
176
177
178
196}
197
198#endif
LLVM Basic Block Representation.
InstListType::iterator iterator
Instruction iterators...
Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...
Subprogram description. Uses SubclassData1.
void SetCurrentDebugLocation(DebugLoc L)
Set location information used by debugging information.
LLVM_ABI DebugLoc getCurrentDebugLocation() const
Get location information used by debugging information.
IRBuilder(LLVMContext &C, FolderTy Folder, InserterTy Inserter, MDNode *FPMathTag=nullptr, ArrayRef< OperandBundleDef > OpBundles={})
LLVM_ABI const Function * getFunction() const
Return the function this instruction belongs to.
static MDTuple * get(LLVMContext &Context, ArrayRef< Metadata * > MDs)
A Module instance is used to store all the information related to an LLVM module.
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
Definition Instrumentation.h:95
LLVM_ABI CallBase & promoteIndirectCall(CallBase &CB, Function *F, uint64_t Count, uint64_t TotalCount, bool AttachProfToDirectCall, OptimizationRemarkEmitter *ORE)
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI GlobalVariable * createPrivateGlobalForString(Module &M, StringRef Str, bool AllowMerging, Twine NamePrefix="")
LLVM_ABI void createProfileSamplingVar(Module &M)
FunctionAddr VTableAddr Count
LLVM_ABI Comdat * getOrCreateFunctionComdat(Function &F, Triple &T)
LLVM_ABI void setGlobalVariableLargeSection(const Triple &TargetTriple, GlobalVariable &GV)
LLVM_ABI BasicBlock::iterator PrepareToSplitEntryBlock(BasicBlock &BB, BasicBlock::iterator IP)
Instrumentation passes often insert conditional checks into entry blocks.
LLVM_ABI bool checkIfAlreadyInstrumented(Module &M, StringRef Flag)
Check if module has flag attached, if not add the flag.
Definition Instrumentation.h:64
bool Atomic
Definition Instrumentation.h:81
static LLVM_ABI GCOVOptions getDefault()
bool NoRedZone
Definition Instrumentation.h:78
std::string Exclude
Definition Instrumentation.h:87
std::string Filter
Definition Instrumentation.h:84
bool EmitNotes
Definition Instrumentation.h:68
char Version[4]
Definition Instrumentation.h:75
bool EmitData
Definition Instrumentation.h:71
InstrProfOptions()=default
bool UseBFIInPromotion
Definition Instrumentation.h:128
bool NoRedZone
Definition Instrumentation.h:119
bool Sampling
Definition Instrumentation.h:131
bool Atomic
Definition Instrumentation.h:125
bool DoCounterPromotion
Definition Instrumentation.h:122
std::string InstrProfileOutput
Definition Instrumentation.h:134
InstrumentationIRBuilder(BasicBlock *BB, BasicBlock::iterator It)
Definition Instrumentation.h:191
InstrumentationIRBuilder(Instruction *IP)
Definition Instrumentation.h:187
static void ensureDebugInfo(IRBuilder<> &IRB, const Function &F)
Definition Instrumentation.h:180
bool TraceLoads
Definition Instrumentation.h:163
enum llvm::SanitizerCoverageOptions::Type CoverageType
int StackDepthCallbackMin
Definition Instrumentation.h:167
bool Use8bitCounters
Definition Instrumentation.h:155
SanitizerCoverageOptions()=default
bool NoPrune
Definition Instrumentation.h:161
bool StackDepth
Definition Instrumentation.h:162
bool TraceBB
Definition Instrumentation.h:151
Type
Definition Instrumentation.h:144
@ SCK_Function
Definition Instrumentation.h:146
@ SCK_None
Definition Instrumentation.h:145
@ SCK_BB
Definition Instrumentation.h:147
@ SCK_Edge
Definition Instrumentation.h:148
bool TraceDiv
Definition Instrumentation.h:153
bool TraceStores
Definition Instrumentation.h:164
bool InlineBoolFlag
Definition Instrumentation.h:159
bool TraceCmp
Definition Instrumentation.h:152
bool IndirectCalls
Definition Instrumentation.h:150
bool Inline8bitCounters
Definition Instrumentation.h:158
bool TracePCGuard
Definition Instrumentation.h:157
bool TraceGep
Definition Instrumentation.h:154
bool GatedCallbacks
Definition Instrumentation.h:166
bool PCTable
Definition Instrumentation.h:160
bool TracePC
Definition Instrumentation.h:156
bool CollectControlFlow
Definition Instrumentation.h:165