LLVM 20.0.0git
Macros | Functions | Variables
SampleProfileProbe.cpp File Reference
#include "llvm/Transforms/IPO/SampleProfileProbe.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/BlockFrequencyInfo.h"
#include "llvm/Analysis/EHUtils.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/MDBuilder.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PseudoProbe.h"
#include "llvm/ProfileData/SampleProf.h"
#include "llvm/Support/CRC.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Transforms/Instrumentation.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
#include <unordered_set>
#include <vector>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "pseudo-probe"
 

Functions

 STATISTIC (ArtificialDbgLine, "Number of probes that have an artificial debug line")
 
static uint64_t getCallStackHash (const DILocation *DIL)
 
static uint64_t computeCallStackHash (const Instruction &Inst)
 

Variables

static cl::opt< boolVerifyPseudoProbe ("verify-pseudo-probe", cl::init(false), cl::Hidden, cl::desc("Do pseudo probe verification"))
 
static cl::list< std::string > VerifyPseudoProbeFuncList ("verify-pseudo-probe-funcs", cl::Hidden, cl::desc("The option to specify the name of the functions to verify."))
 
static cl::opt< boolUpdatePseudoProbe ("update-pseudo-probe", cl::init(true), cl::Hidden, cl::desc("Update pseudo probe distribution factor"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "pseudo-probe"

Definition at line 38 of file SampleProfileProbe.cpp.

Function Documentation

◆ computeCallStackHash()

static uint64_t computeCallStackHash ( const Instruction Inst)
static

Definition at line 68 of file SampleProfileProbe.cpp.

References getCallStackHash(), and llvm::Instruction::getDebugLoc().

◆ getCallStackHash()

static uint64_t getCallStackHash ( const DILocation DIL)
static

Definition at line 55 of file SampleProfileProbe.cpp.

References llvm::sampleprof::MD5Hash(), and Name.

Referenced by computeCallStackHash().

◆ STATISTIC()

STATISTIC ( ArtificialDbgLine  ,
"Number of probes that have an artificial debug line"   
)

Variable Documentation

◆ UpdatePseudoProbe

cl::opt< bool > UpdatePseudoProbe("update-pseudo-probe", cl::init(true), cl::Hidden, cl::desc("Update pseudo probe distribution factor")) ( "update-pseudo-probe"  ,
cl::init(true ,
cl::Hidden  ,
cl::desc("Update pseudo probe distribution factor")   
)
static

◆ VerifyPseudoProbe

cl::opt< bool > VerifyPseudoProbe("verify-pseudo-probe", cl::init(false), cl::Hidden, cl::desc("Do pseudo probe verification")) ( "verify-pseudo-probe"  ,
cl::init(false)  ,
cl::Hidden  ,
cl::desc("Do pseudo probe verification")   
)
static

◆ VerifyPseudoProbeFuncList

cl::list< std::string > VerifyPseudoProbeFuncList("verify-pseudo-probe-funcs", cl::Hidden, cl::desc("The option to specify the name of the functions to verify.")) ( "verify-pseudo-probe-funcs"  ,
cl::Hidden  ,
cl::desc("The option to specify the name of the functions to verify.")   
)
static