14 #ifndef LLVM_ANALYSIS_BLOCKFREQUENCYINFO_H
15 #define LLVM_ANALYSIS_BLOCKFREQUENCYINFO_H
23 class BranchProbabilityInfo;
30 std::unique_ptr<ImplType> BFI;
raw_ostream & printBlockFreq(raw_ostream &OS, const BlockFrequency Freq) const
A Module instance is used to store all the information related to an LLVM module. ...
void releaseMemory() override
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memo...
bool runOnFunction(Function &F) override
runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass...
void print(raw_ostream &O, const Module *M) const override
print - Print out the internal state of the pass.
BlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate IR basic block frequen...
LLVM Basic Block Representation.
Represent the analysis usage information of a pass.
FunctionPass class - This class is used to implement most global optimizations.
uint64_t getEntryFreq() const
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
~BlockFrequencyInfo() override
const Function * getFunction() const
void view() const
Pop up a ghostview window with the current block frequency propagation rendered using dot...
This class implements an extremely fast bulk output stream that can only output to a stream...
Shared implementation for block frequency analysis.
BlockFrequency getBlockFreq(const BasicBlock *BB) const
getblockFreq - Return block frequency.