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