14 #ifndef LLVM_CODEGEN_MACHINEBLOCKFREQUENCYINFO_H
15 #define LLVM_CODEGEN_MACHINEBLOCKFREQUENCYINFO_H
23 class MachineBasicBlock;
24 class MachineBranchProbabilityInfo;
25 template <
class BlockT>
class BlockFrequencyInfoImpl;
31 std::unique_ptr<ImplType> MBFI;
void view() const
Pop up a ghostview window with the current block frequency propagation rendered using dot...
MachineBlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate machine basic b...
BlockFrequency getBlockFreq(const MachineBasicBlock *MBB) const
getblockFreq - Return block frequency.
uint64_t getEntryFreq() const
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
~MachineBlockFrequencyInfo() override
raw_ostream & printBlockFreq(raw_ostream &OS, const BlockFrequency Freq) const
Represent the analysis usage information of a pass.
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
void releaseMemory() override
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memo...
MachineBlockFrequencyInfo()
bool runOnMachineFunction(MachineFunction &F) override
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...
This class implements an extremely fast bulk output stream that can only output to a stream...
Shared implementation for block frequency analysis.
const MachineFunction * getFunction() const