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 213 of file SampleProfileProbe.cpp.
References llvm::Last.
void SampleProfileProber::instrumentOneFunc | ( | Function & | F, |
TargetMachine * | TM | ||
) |
Definition at line 283 of file SampleProfileProbe.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Key::Args, assert(), BB, Builder, llvm::MDBuilder::createPseudoProbeDesc(), llvm::dbgs(), llvm::DirectCall, F, llvm::PseudoProbeDwarfDiscriminator::FullDistributionFactor, llvm::MDNode::get(), llvm::Intrinsic::getDeclaration(), llvm::GlobalValue::getGUID(), llvm::ilist_node_with_parent< NodeTy, ParentTy, Options >::getNextNode(), llvm::getOrCreateFunctionComdat(), I, llvm::IndirectCall, LLVM_DEBUG, M, llvm::PseudoProbeDwarfDiscriminator::packProbeData(), llvm::PseudoProbeDescMetadataName, llvm::PseudoProbeFullDistributionFactor, llvm::Triple::supportsCOMDAT(), and TM.
Referenced by llvm::SampleProfileProbePass::run().