LLVM 22.0.0git
llvm::LazyBlockFrequencyInfo< FunctionT, BranchProbabilityInfoPassT, LoopInfoT, BlockFrequencyInfoT > Class Template Reference

Wraps a BFI to allow lazy computation of the block frequencies. More...

#include "llvm/Analysis/LazyBlockFrequencyInfo.h"

Inheritance diagram for llvm::LazyBlockFrequencyInfo< FunctionT, BranchProbabilityInfoPassT, LoopInfoT, BlockFrequencyInfoT >:
[legend]

Public Member Functions

 LazyBlockFrequencyInfo ()=default
void setAnalysis (const FunctionT *F, BranchProbabilityInfoPassT *BPIPass, const LoopInfoT *LI)
 Set up the per-function input.
BlockFrequencyInfoT & getCalculated ()
 Retrieve the BFI with the block frequencies computed.
const BlockFrequencyInfoT & getCalculated () const
void releaseMemory ()

Detailed Description

template<typename FunctionT, typename BranchProbabilityInfoPassT, typename LoopInfoT, typename BlockFrequencyInfoT>
class llvm::LazyBlockFrequencyInfo< FunctionT, BranchProbabilityInfoPassT, LoopInfoT, BlockFrequencyInfoT >

Wraps a BFI to allow lazy computation of the block frequencies.

A pass that only conditionally uses BFI can uncondtionally require the analysis without paying for the overhead if BFI doesn't end up being used.

Definition at line 33 of file LazyBlockFrequencyInfo.h.

Constructor & Destructor Documentation

◆ LazyBlockFrequencyInfo()

template<typename FunctionT, typename BranchProbabilityInfoPassT, typename LoopInfoT, typename BlockFrequencyInfoT>
llvm::LazyBlockFrequencyInfo< FunctionT, BranchProbabilityInfoPassT, LoopInfoT, BlockFrequencyInfoT >::LazyBlockFrequencyInfo ( )
default

Referenced by getCalculated().

Member Function Documentation

◆ getCalculated() [1/2]

template<typename FunctionT, typename BranchProbabilityInfoPassT, typename LoopInfoT, typename BlockFrequencyInfoT>
BlockFrequencyInfoT & llvm::LazyBlockFrequencyInfo< FunctionT, BranchProbabilityInfoPassT, LoopInfoT, BlockFrequencyInfoT >::getCalculated ( )
inline

Retrieve the BFI with the block frequencies computed.

Definition at line 46 of file LazyBlockFrequencyInfo.h.

References assert(), and llvm::BPIPassTrait< PassT >::getBPI().

Referenced by getCalculated().

◆ getCalculated() [2/2]

template<typename FunctionT, typename BranchProbabilityInfoPassT, typename LoopInfoT, typename BlockFrequencyInfoT>
const BlockFrequencyInfoT & llvm::LazyBlockFrequencyInfo< FunctionT, BranchProbabilityInfoPassT, LoopInfoT, BlockFrequencyInfoT >::getCalculated ( ) const
inline

Definition at line 56 of file LazyBlockFrequencyInfo.h.

References getCalculated(), and LazyBlockFrequencyInfo().

◆ releaseMemory()

template<typename FunctionT, typename BranchProbabilityInfoPassT, typename LoopInfoT, typename BlockFrequencyInfoT>
void llvm::LazyBlockFrequencyInfo< FunctionT, BranchProbabilityInfoPassT, LoopInfoT, BlockFrequencyInfoT >::releaseMemory ( )
inline

Definition at line 60 of file LazyBlockFrequencyInfo.h.

References setAnalysis().

◆ setAnalysis()

template<typename FunctionT, typename BranchProbabilityInfoPassT, typename LoopInfoT, typename BlockFrequencyInfoT>
void llvm::LazyBlockFrequencyInfo< FunctionT, BranchProbabilityInfoPassT, LoopInfoT, BlockFrequencyInfoT >::setAnalysis ( const FunctionT * F,
BranchProbabilityInfoPassT * BPIPass,
const LoopInfoT * LI )
inline

Set up the per-function input.

Definition at line 38 of file LazyBlockFrequencyInfo.h.

Referenced by releaseMemory().


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