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.

Classes

struct  llvm::PseudoProbeDwarfDiscriminator
 
struct  llvm::PseudoProbe
 

Namespaces

 llvm
 

Enumerations

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

Functions

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...
 

Variables

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