LLVM  6.0.0svn
Classes | Namespaces | Functions
Instrumentation.h File Reference
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/BasicBlock.h"
#include <cassert>
#include <cstdint>
#include <limits>
#include <string>
#include <vector>
Include dependency graph for Instrumentation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::GCOVOptions
 
struct  llvm::InstrProfOptions
 Options for the frontend instrumentation based profiling pass. More...
 
struct  llvm::EfficiencySanitizerOptions
 
struct  llvm::SanitizerCoverageOptions
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

BasicBlock::iterator llvm::PrepareToSplitEntryBlock (BasicBlock &BB, BasicBlock::iterator IP)
 Instrumentation passes often insert conditional checks into entry blocks. More...
 
ModulePass * llvm::createGCOVProfilerPass (const GCOVOptions &Options=GCOVOptions::getDefault())
 
ModulePassllvm::createPGOInstrumentationGenLegacyPass ()
 
ModulePassllvm::createPGOInstrumentationUseLegacyPass (StringRef Filename=StringRef(""))
 
ModulePassllvm::createPGOIndirectCallPromotionLegacyPass (bool InLTO=false, bool SamplePGO=false)
 
FunctionPass * llvm::createPGOMemOPSizeOptLegacyPass ()
 
bool llvm::isLegalToPromote (Instruction *Inst, Function *F, const char **Reason)
 
Instructionllvm::promoteIndirectCall (Instruction *Inst, Function *F, uint64_t Count, uint64_t TotalCount, bool AttachProfToDirectCall, OptimizationRemarkEmitter *ORE)
 
ModulePassllvm::createInstrProfilingLegacyPass (const InstrProfOptions &Options=InstrProfOptions())
 Insert frontend instrumentation based profiling. More...
 
FunctionPassllvm::createAddressSanitizerFunctionPass (bool CompileKernel=false, bool Recover=false, bool UseAfterScope=false)
 
ModulePass * llvm::createAddressSanitizerModulePass (bool CompileKernel=false, bool Recover=false, bool UseGlobalsGC=true)
 
FunctionPassllvm::createMemorySanitizerPass (int TrackOrigins=0, bool Recover=false)
 
FunctionPassllvm::createThreadSanitizerPass ()
 
ModulePass * llvm::createDataFlowSanitizerPass (const std::vector< std::string > &ABIListFiles=std::vector< std::string >(), void *(*getArgTLS)()=nullptr, void *(*getRetValTLS)()=nullptr)
 
ModulePassllvm::createEfficiencySanitizerPass (const EfficiencySanitizerOptions &Options=EfficiencySanitizerOptions())
 
ModulePassllvm::createSanitizerCoverageModulePass (const SanitizerCoverageOptions &Options=SanitizerCoverageOptions())
 
FunctionPassllvm::createBoundsCheckingPass ()
 
static uint64_t llvm::calculateCountScale (uint64_t MaxCount)
 Calculate what to divide by to scale counts. More...
 
static uint32_t llvm::scaleBranchCount (uint64_t Count, uint64_t Scale)
 Scale an individual branch count. More...