class LazyBlockFrequencyInfo

Declaration

template <typename FunctionT,
          typename BranchProbabilityInfoPassT,
          typename LoopInfoT,
          typename BlockFrequencyInfoT>
class LazyBlockFrequencyInfo { /* full declaration omitted */ };

Description

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.

Declared at: llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h:34

Templates

FunctionT
BranchProbabilityInfoPassT
LoopInfoT
BlockFrequencyInfoT

Member Variables

private BlockFrequencyInfoT BFI
private bool Calculated = false
private const FunctionT* F = nullptr
private BranchProbabilityInfoPassT* BPIPass = nullptr
private const LoopInfoT* LI = nullptr

Method Overview

Methods

LazyBlockFrequencyInfo<FunctionT,
                       BranchProbabilityInfoPassT,
                       LoopInfoT,
                       BlockFrequencyInfoT>()

Declared at: llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h:36

BlockFrequencyInfoT& getCalculated()

Description

Retrieve the BFI with the block frequencies computed.

Declared at: llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h:47

const BlockFrequencyInfoT& getCalculated() const

Declared at: llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h:57

void releaseMemory()

Declared at: llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h:61

void setAnalysis(
    const FunctionT* F,
    BranchProbabilityInfoPassT* BPIPass,
    const LoopInfoT* LI)

Description

Set up the per-function input.

Declared at: llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h:39

Parameters

const FunctionT* F
BranchProbabilityInfoPassT* BPIPass
const LoopInfoT* LI