LLVM 20.0.0git
|
Sample profile pseudo prober. More...
#include "llvm/Transforms/IPO/SampleProfileProbe.h"
Public Member Functions | |
SampleProfileProber (Function &F, const std::string &CurModuleUniqueId) | |
void | instrumentOneFunc (Function &F, TargetMachine *TM) |
Sample profile pseudo prober.
Insert pseudo probes for block sampling and value sampling.
Definition at line 74 of file SampleProfileProbe.h.
Definition at line 171 of file SampleProfileProbe.cpp.
References llvm::Last.
void SampleProfileProber::instrumentOneFunc | ( | Function & | F, |
TargetMachine * | TM | ||
) |
Definition at line 344 of file SampleProfileProbe.cpp.
References assert(), llvm::IRBuilderBase::CreateCall(), llvm::MDBuilder::createPseudoProbeDesc(), llvm::dbgs(), llvm::DirectCall, llvm::StringRef::empty(), llvm::BasicBlock::end(), F, llvm::PseudoProbeDwarfDiscriminator::FullDistributionFactor, llvm::MDNode::get(), llvm::Intrinsic::getDeclaration(), llvm::BasicBlock::getFirstInsertionPt(), llvm::GlobalValue::getGUID(), llvm::IRBuilderBase::GetInsertPoint(), llvm::IRBuilderBase::getInt32(), llvm::IRBuilderBase::getInt64(), llvm::ilist_node_with_parent< NodeTy, ParentTy, Options >::getNextNode(), llvm::BasicBlock::getTerminator(), llvm::Guid, I, llvm::IndirectCall, LLVM_DEBUG, llvm::PseudoProbeDwarfDiscriminator::packProbeData(), llvm::PseudoProbeDescMetadataName, and llvm::PseudoProbeFullDistributionFactor.
Referenced by llvm::SampleProfileProbePass::run().