LLVM API Documentation

Public Member Functions | Static Public Attributes
llvm::BlockFrequencyInfo Class Reference

#include <BlockFrequencyInfo.h>

Inheritance diagram for llvm::BlockFrequencyInfo:
Inheritance graph
[legend]
Collaboration diagram for llvm::BlockFrequencyInfo:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BlockFrequencyInfo ()
 ~BlockFrequencyInfo ()
void getAnalysisUsage (AnalysisUsage &AU) const
bool runOnFunction (Function &F)
void print (raw_ostream &O, const Module *M) const
BlockFrequency getBlockFreq (const BasicBlock *BB) const

Static Public Attributes

static char ID = 0

Detailed Description

BlockFrequencyInfo pass uses BlockFrequencyImpl implementation to estimate IR basic block frequencies.

Definition at line 29 of file BlockFrequencyInfo.h.


Constructor & Destructor Documentation

BlockFrequencyInfo::BlockFrequencyInfo ( )
BlockFrequencyInfo::~BlockFrequencyInfo ( )

Definition at line 37 of file BlockFrequencyInfo.cpp.

References llvm::AArch64ISD::BFI.


Member Function Documentation

void BlockFrequencyInfo::getAnalysisUsage ( AnalysisUsage ) const [virtual]

getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.

Reimplemented from llvm::Pass.

Definition at line 41 of file BlockFrequencyInfo.cpp.

References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().

BlockFrequency BlockFrequencyInfo::getBlockFreq ( const BasicBlock BB) const

getblockFreq - Return block frequency. Return 0 if we don't have the information. Please note that initial frequency is equal to 1024. It means that we should not rely on the value itself, but only on the comparison to the other block frequencies. We do this to avoid using of floating points.

Definition at line 61 of file BlockFrequencyInfo.cpp.

References llvm::AArch64ISD::BFI.

void BlockFrequencyInfo::print ( raw_ostream O,
const Module M 
) const [virtual]

print - Print out the internal state of the pass. This is called by Analyze to print out the contents of an analysis. Otherwise it is not necessary to implement this method. Beware that the module pointer MAY be null. This automatically forwards to a virtual function that does not provide the Module* in case the analysis doesn't need it it can just be ignored.

Reimplemented from llvm::Pass.

Definition at line 52 of file BlockFrequencyInfo.cpp.

References llvm::AArch64ISD::BFI.

bool BlockFrequencyInfo::runOnFunction ( Function F) [virtual]

runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.

Implements llvm::FunctionPass.

Definition at line 46 of file BlockFrequencyInfo.cpp.

References llvm::AArch64ISD::BFI.


Member Data Documentation

block Block Frequency true char BlockFrequencyInfo::ID = 0 [static]

Definition at line 34 of file BlockFrequencyInfo.h.


The documentation for this class was generated from the following files: