Base class for BlockFrequencyInfoImpl
Declared in <llvm/Analysis/BlockFrequencyInfoImpl.h>
class BlockFrequencyInfoImplBase;
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.
| 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. |
| Name | Description |
|---|---|
BlockMass | Fixed-point probability mass in [0, 1]. |
Scaled64 | 64-bit scaled floating-point frequency. |
| 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. |
| 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(). |