LLVM  13.0.0git
Classes | Namespaces | Enumerations | Functions | Variables
PseudoProbe.h File Reference
#include "llvm/ADT/Optional.h"
#include <cassert>
#include <cstdint>
#include <limits>
Include dependency graph for PseudoProbe.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  llvm::PseudoProbeDwarfDiscriminator
struct  llvm::PseudoProbe




enum  llvm::PseudoProbeType { llvm::PseudoProbeType::Block = 0, llvm::PseudoProbeType::IndirectCall, llvm::PseudoProbeType::DirectCall }
enum  llvm::PseudoProbeAttributes { llvm::PseudoProbeAttributes::Reserved = 0x1, llvm::PseudoProbeAttributes::Dangling = 0x2 }


Optional< PseudoProbellvm::extractProbe (const Instruction &Inst)
void llvm::setProbeDistributionFactor (Instruction &Inst, float Factor)
bool llvm::moveAndDanglePseudoProbes (BasicBlock *From, Instruction *To)
 A block emptied (i.e., with all instructions moved out of it) won't be sampled at run time. More...
bool llvm::removeRedundantPseudoProbes (BasicBlock *Block)
 Same dangling probes in one blocks are redundant since they all have the same semantic that is to rely on the counts inference too to get reasonable count for the same original block. More...


constexpr const char * llvm::PseudoProbeDescMetadataName = "llvm.pseudo_probe_desc"
constexpr static uint64_t llvm::PseudoProbeFullDistributionFactor