LLVM 19.0.0git
Public Types | Public Member Functions | List of all members
llvm::SampleProfileInference< FT > Class Template Reference

Sample profile inference pass. More...

#include "llvm/Transforms/Utils/SampleProfileInference.h"

Public Types

using NodeRef = typename GraphTraits< FT * >::NodeRef
 
using BasicBlockT = std::remove_pointer_t< NodeRef >
 
using FunctionT = FT
 
using Edge = std::pair< const BasicBlockT *, const BasicBlockT * >
 
using BlockWeightMap = DenseMap< const BasicBlockT *, uint64_t >
 
using EdgeWeightMap = DenseMap< Edge, uint64_t >
 
using BlockEdgeMap = DenseMap< const BasicBlockT *, SmallVector< const BasicBlockT *, 8 > >
 

Public Member Functions

 SampleProfileInference (FunctionT &F, BlockEdgeMap &Successors, BlockWeightMap &SampleBlockWeights)
 
void apply (BlockWeightMap &BlockWeights, EdgeWeightMap &EdgeWeights)
 Apply the profile inference algorithm for a given function.
 

Detailed Description

template<typename FT>
class llvm::SampleProfileInference< FT >

Sample profile inference pass.

Definition at line 119 of file SampleProfileInference.h.

Member Typedef Documentation

◆ BasicBlockT

template<typename FT >
using llvm::SampleProfileInference< FT >::BasicBlockT = std::remove_pointer_t<NodeRef>

Definition at line 122 of file SampleProfileInference.h.

◆ BlockEdgeMap

template<typename FT >
using llvm::SampleProfileInference< FT >::BlockEdgeMap = DenseMap<const BasicBlockT *, SmallVector<const BasicBlockT *, 8> >

Definition at line 127 of file SampleProfileInference.h.

◆ BlockWeightMap

template<typename FT >
using llvm::SampleProfileInference< FT >::BlockWeightMap = DenseMap<const BasicBlockT *, uint64_t>

Definition at line 125 of file SampleProfileInference.h.

◆ Edge

template<typename FT >
using llvm::SampleProfileInference< FT >::Edge = std::pair<const BasicBlockT *, const BasicBlockT *>

Definition at line 124 of file SampleProfileInference.h.

◆ EdgeWeightMap

template<typename FT >
using llvm::SampleProfileInference< FT >::EdgeWeightMap = DenseMap<Edge, uint64_t>

Definition at line 126 of file SampleProfileInference.h.

◆ FunctionT

template<typename FT >
using llvm::SampleProfileInference< FT >::FunctionT = FT

Definition at line 123 of file SampleProfileInference.h.

◆ NodeRef

template<typename FT >
using llvm::SampleProfileInference< FT >::NodeRef = typename GraphTraits<FT *>::NodeRef

Definition at line 121 of file SampleProfileInference.h.

Constructor & Destructor Documentation

◆ SampleProfileInference()

template<typename FT >
llvm::SampleProfileInference< FT >::SampleProfileInference ( FunctionT F,
BlockEdgeMap Successors,
BlockWeightMap SampleBlockWeights 
)
inline

Definition at line 130 of file SampleProfileInference.h.

References F.

Member Function Documentation

◆ apply()

template<typename BT >
void llvm::SampleProfileInference< BT >::apply ( BlockWeightMap BlockWeights,
EdgeWeightMap EdgeWeights 
)

The documentation for this class was generated from the following file: