LLVM 22.0.0git
|
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 |
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. |
Sample profile inference pass.
Definition at line 119 of file SampleProfileInference.h.
using llvm::SampleProfileInference< FT >::BasicBlockT = std::remove_pointer_t<NodeRef> |
Definition at line 122 of file SampleProfileInference.h.
using llvm::SampleProfileInference< FT >::BlockEdgeMap |
Definition at line 127 of file SampleProfileInference.h.
using llvm::SampleProfileInference< FT >::BlockWeightMap = DenseMap<const BasicBlockT *, uint64_t> |
Definition at line 125 of file SampleProfileInference.h.
using llvm::SampleProfileInference< FT >::Edge = std::pair<const BasicBlockT *, const BasicBlockT *> |
Definition at line 124 of file SampleProfileInference.h.
using llvm::SampleProfileInference< FT >::EdgeWeightMap = DenseMap<Edge, uint64_t> |
Definition at line 126 of file SampleProfileInference.h.
using llvm::SampleProfileInference< FT >::FunctionT = FT |
Definition at line 123 of file SampleProfileInference.h.
using llvm::SampleProfileInference< FT >::NodeRef = typename GraphTraits<FT *>::NodeRef |
Definition at line 121 of file SampleProfileInference.h.
|
inline |
Definition at line 130 of file SampleProfileInference.h.
void llvm::SampleProfileInference< BT >::apply | ( | BlockWeightMap & | BlockWeights, |
EdgeWeightMap & | EdgeWeights ) |
Apply the profile inference algorithm for a given function.
Definition at line 163 of file SampleProfileInference.h.
References llvm::applyFlowInference(), assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear(), llvm::SmallPtrSetImpl< PtrType >::contains(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::depth_first_ext(), E(), I, llvm::inverse_depth_first_ext(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::reserve().