LLVM  4.0.0
Macros | Functions | Variables
InstrProfiling.cpp File Reference
#include "llvm/Transforms/InstrProfiling.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Module.h"
#include "llvm/ProfileData/InstrProf.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
#include "llvm/ProfileData/InstrProfData.inc"
Include dependency graph for InstrProfiling.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "instrprof"
 
#define VALUE_PROF_FUNC_PARAM(ParamType, ParamName, ParamLLVMType)   ParamLLVMType
 
#define INSTR_PROF_DATA(Type, LLVMType, Name, Init)   LLVMType,
 
#define INSTR_PROF_DATA(Type, LLVMType, Name, Init)   Init,
 
#define INSTR_PROF_MIN_VAL_COUNTS   10
 
#define INSTR_PROF_VALUE_NODE(Type, LLVMType, Name, Init)   LLVMType,
 

Functions

 INITIALIZE_PASS_BEGIN (InstrProfilingLegacyPass,"instrprof","Frontend instrumentation-based coverage lowering.", false, false) INITIALIZE_PASS_END(InstrProfilingLegacyPass
 
static InstrProfIncrementInstcastToIncrementInst (Instruction *Instr)
 
static ConstantgetOrInsertValueProfilingCall (Module &M, const TargetLibraryInfo &TLI)
 
static std::string getVarName (InstrProfIncrementInst *Inc, StringRef Prefix)
 Get the name of a profiling variable for a particular function. More...
 
static bool shouldRecordFunctionAddr (Function *F)
 
static ComdatgetOrCreateProfileComdat (Module &M, Function &F, InstrProfIncrementInst *Inc)
 
static bool needsRuntimeRegistrationOfSectionRange (const Module &M)
 

Variables

 instrprof
 
Frontend instrumentation based
coverage 
lowering
 
Frontend instrumentation based
coverage 
false
 

Macro Definition Documentation

#define DEBUG_TYPE   "instrprof"

Definition at line 27 of file InstrProfiling.cpp.

#define INSTR_PROF_DATA (   Type,
  LLVMType,
  Name,
  Init 
)    LLVMType,
#define INSTR_PROF_DATA (   Type,
  LLVMType,
  Name,
  Init 
)    Init,
#define INSTR_PROF_MIN_VAL_COUNTS   10
#define INSTR_PROF_VALUE_NODE (   Type,
  LLVMType,
  Name,
  Init 
)    LLVMType,
#define VALUE_PROF_FUNC_PARAM (   ParamType,
  ParamName,
  ParamLLVMType 
)    ParamLLVMType

Function Documentation

static InstrProfIncrementInst* castToIncrementInst ( Instruction Instr)
static

Definition at line 124 of file InstrProfiling.cpp.

References llvm::dyn_cast().

Referenced by llvm::InstrProfiling::run().

static Comdat* getOrCreateProfileComdat ( Module M,
Function F,
InstrProfIncrementInst Inc 
)
inlinestatic
static Constant* getOrInsertValueProfilingCall ( Module M,
const TargetLibraryInfo TLI 
)
static
static std::string getVarName ( InstrProfIncrementInst Inc,
StringRef  Prefix 
)
static
INITIALIZE_PASS_BEGIN ( InstrProfilingLegacyPass  ,
"instrprof"  ,
"Frontend instrumentation-based coverage lowering."  ,
false  ,
false   
)
static bool needsRuntimeRegistrationOfSectionRange ( const Module M)
static

Definition at line 327 of file InstrProfiling.cpp.

References llvm::Module::getTargetTriple().

static bool shouldRecordFunctionAddr ( Function F)
inlinestatic

Variable Documentation

Frontend instrumentation based coverage false

Definition at line 92 of file InstrProfiling.cpp.

instrprof

Definition at line 92 of file InstrProfiling.cpp.

Frontend instrumentation based coverage lowering

Definition at line 92 of file InstrProfiling.cpp.