LLVM 17.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 99 of file SampleProfileProbe.h.
Definition at line 214 of file SampleProfileProbe.cpp.
References llvm::Last.
void SampleProfileProber::instrumentOneFunc | ( | Function & | F, |
TargetMachine * | TM | ||
) |
Definition at line 290 of file SampleProfileProbe.cpp.
References assert(), Builder, llvm::MDBuilder::createPseudoProbeDesc(), llvm::dbgs(), llvm::DirectCall, llvm::BasicBlock::end(), F, llvm::PseudoProbeDwarfDiscriminator::FullDistributionFactor, llvm::MDNode::get(), llvm::Intrinsic::getDeclaration(), llvm::BasicBlock::getFirstInsertionPt(), llvm::GlobalValue::getGUID(), llvm::ilist_node_with_parent< NodeTy, ParentTy, Options >::getNextNode(), llvm::getOrCreateFunctionComdat(), llvm::BasicBlock::getTerminator(), I, llvm::IndirectCall, LLVM_DEBUG, llvm::PseudoProbeDwarfDiscriminator::packProbeData(), llvm::PseudoProbeDescMetadataName, llvm::PseudoProbeFullDistributionFactor, llvm::Triple::supportsCOMDAT(), and TM.
Referenced by llvm::SampleProfileProbePass::run().