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

Sample profile inference pass. More...

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

Public Types

using BasicBlockT = typename afdo_detail::TypeMap< BT >::BasicBlockT
 
using FunctionT = typename afdo_detail::TypeMap< BT >::FunctionT
 
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 BT>
class llvm::SampleProfileInference< BT >

Sample profile inference pass.

Definition at line 141 of file SampleProfileInference.h.

Member Typedef Documentation

◆ BasicBlockT

template<typename BT >
using llvm::SampleProfileInference< BT >::BasicBlockT = typename afdo_detail::TypeMap<BT>::BasicBlockT

Definition at line 143 of file SampleProfileInference.h.

◆ BlockEdgeMap

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

Definition at line 148 of file SampleProfileInference.h.

◆ BlockWeightMap

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

Definition at line 146 of file SampleProfileInference.h.

◆ Edge

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

Definition at line 145 of file SampleProfileInference.h.

◆ EdgeWeightMap

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

Definition at line 147 of file SampleProfileInference.h.

◆ FunctionT

template<typename BT >
using llvm::SampleProfileInference< BT >::FunctionT = typename afdo_detail::TypeMap<BT>::FunctionT

Definition at line 144 of file SampleProfileInference.h.

Constructor & Destructor Documentation

◆ SampleProfileInference()

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

Definition at line 151 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: