LLVM  16.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. More...
 

Detailed Description

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

Sample profile inference pass.

Definition at line 83 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 85 of file SampleProfileInference.h.

◆ BlockEdgeMap

Definition at line 91 of file SampleProfileInference.h.

◆ BlockWeightMap

Definition at line 88 of file SampleProfileInference.h.

◆ Edge

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

Definition at line 87 of file SampleProfileInference.h.

◆ EdgeWeightMap

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

Definition at line 89 of file SampleProfileInference.h.

◆ FunctionT

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

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