Base class for BlockFrequencyInfoImpl

Synopsis

Declared in <llvm/Analysis/BlockFrequencyInfoImpl.h>

class BlockFrequencyInfoImplBase;

Description

BlockFrequencyInfoImplBase has supporting data structures and some algorithms for BlockFrequencyInfoImplBase. Only algorithms that depend on the block type (or that call such algorithms) are skipped here.

Nevertheless, the majority of the overall algorithm documentation lives with BlockFrequencyInfoImpl. See there for details.

Types

Name

Description

BlockNode

Representative of a block.

Distribution

Distribution of unscaled probability weight.

FrequencyData

Stats about a block itself.

LoopData

Data about a loop.

Weight

Unscaled probability weight.

WorkingData

Index of loop information.

Type Aliases

Name

Description

BlockMass

Fixed‐point probability mass in [0, 1].

Scaled64

64‐bit scaled floating‐point frequency.

Member Functions

Name

Description

~BlockFrequencyInfoImplBase [destructor] [virtual]

Virtual destructor.

addLoopSuccessorsToDist

Add all edges out of a packaged loop to the distribution.

addToDist

Add an edge to the distribution.

analyzeIrreducible

Analyze irreducible SCCs.

clear

Clear all memory.

computeLoopScale

Compute the loop scale for a loop.

distributeMass

Distribute mass according to a distribution.

dump

Dump frequency metrics to the debug stream.

finalizeMetrics

Finalize frequency metrics.

getBlockFreq

Return the integer frequency of Node.

getBlockName [virtual]

Return a debug name for Node.

getBlockProfileCount

Return the estimated profile count of Node in F, if available.

getEntryFreq

Return the frequency of the function entry block.

getFloatingBlockFreq

Return the floating‐point frequency of Node.

getLoopName

Return a debug name for Loop.

getProfileCountFromFreq

Scale Freq by F's entry count into an estimated profile count.

isIrrLoopHeader

Return true if Node is an irreducible loop header.

packageLoop

Package up a loop.

print [virtual]

Print frequency metrics to OS.

setBlockFreq

Set the frequency of Node to Freq.

unwrapLoops

Unwrap loops.

Data Members

Name

Description

Freqs

Data about each block. This is used downstream.

IsIrrLoopHeader

Whether each block is an irreducible loop header. This is used downstream.

Loops

Indexed information about loops.

TopContainsIrreducible

Has an irreducible SCC outside every loop.

Working

Loop data: see initializeLoops().

Created with MrDocs