LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Attributes | List of all members
llvm::MachineBranchProbabilityInfo Class Reference

#include <MachineBranchProbabilityInfo.h>

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

Public Member Functions

 MachineBranchProbabilityInfo ()
 
void getAnalysisUsage (AnalysisUsage &AU) const
 
uint32_t getEdgeWeight (const MachineBasicBlock *Src, const MachineBasicBlock *Dst) const
 
uint32_t getEdgeWeight (const MachineBasicBlock *Src, MachineBasicBlock::const_succ_iterator Dst) const
 
uint32_t getSumForBlock (const MachineBasicBlock *MBB, uint32_t &Scale) const
 
bool isEdgeHot (MachineBasicBlock *Src, MachineBasicBlock *Dst) const
 
MachineBasicBlockgetHotSucc (MachineBasicBlock *MBB) const
 
BranchProbability getEdgeProbability (MachineBasicBlock *Src, MachineBasicBlock *Dst) const
 
raw_ostreamprintEdgeProbability (raw_ostream &OS, MachineBasicBlock *Src, MachineBasicBlock *Dst) const
 
- Public Member Functions inherited from llvm::ImmutablePass
virtual void initializePass ()
 
virtual ImmutablePassgetAsImmutablePass ()
 
bool runOnModule (Module &)
 
 ImmutablePass (char &pid)
 
virtual ~ImmutablePass ()
 
- Public Member Functions inherited from llvm::ModulePass
PasscreatePrinterPass (raw_ostream &O, const std::string &Banner) const
 createPrinterPass - Get a module printer pass. More...
 
virtual void assignPassManager (PMStack &PMS, PassManagerType T)
 
virtual PassManagerType getPotentialPassManagerType () const
 Return what kind of Pass Manager can manage this pass. More...
 
 ModulePass (char &pid)
 
virtual ~ModulePass ()
 
- Public Member Functions inherited from llvm::Pass
 Pass (PassKind K, char &pid)
 
virtual ~Pass ()
 
PassKind getPassKind () const
 
virtual const char * getPassName () const
 
AnalysisID getPassID () const
 getPassID - Return the PassID number that corresponds to this pass. More...
 
virtual bool doInitialization (Module &)
 
virtual bool doFinalization (Module &)
 
virtual void print (raw_ostream &O, const Module *M) const
 
void dump () const
 
virtual void preparePassManager (PMStack &)
 Check if available pass managers are suitable for this pass or not. More...
 
void setResolver (AnalysisResolver *AR)
 
AnalysisResolvergetResolver () const
 
virtual void releaseMemory ()
 
virtual void * getAdjustedAnalysisPointer (AnalysisID ID)
 
virtual PMDataManagergetAsPMDataManager ()
 
virtual void verifyAnalysis () const
 
virtual void dumpPassStructure (unsigned Offset=0)
 
template<typename AnalysisType >
AnalysisType * getAnalysisIfAvailable () const
 
bool mustPreserveAnalysisID (char &AID) const
 
template<typename AnalysisType >
AnalysisType & getAnalysis () const
 
template<typename AnalysisType >
AnalysisType & getAnalysis (Function &F)
 
template<typename AnalysisType >
AnalysisType & getAnalysisID (AnalysisID PI) const
 
template<typename AnalysisType >
AnalysisType & getAnalysisID (AnalysisID PI, Function &F)
 

Static Public Attributes

static char ID = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::Pass
static const PassInfolookupPassInfo (const void *TI)
 
static const PassInfolookupPassInfo (StringRef Arg)
 
static PasscreatePass (AnalysisID ID)
 

Detailed Description

Definition at line 24 of file MachineBranchProbabilityInfo.h.

Constructor & Destructor Documentation

llvm::MachineBranchProbabilityInfo::MachineBranchProbabilityInfo ( )
inline

Member Function Documentation

void llvm::MachineBranchProbabilityInfo::getAnalysisUsage ( AnalysisUsage ) const
inlinevirtual

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 43 of file MachineBranchProbabilityInfo.h.

References llvm::AnalysisUsage::setPreservesAll().

BranchProbability MachineBranchProbabilityInfo::getEdgeProbability ( MachineBasicBlock Src,
MachineBasicBlock Dst 
) const
uint32_t MachineBranchProbabilityInfo::getEdgeWeight ( const MachineBasicBlock Src,
const MachineBasicBlock Dst 
) const
uint32_t MachineBranchProbabilityInfo::getEdgeWeight ( const MachineBasicBlock Src,
MachineBasicBlock::const_succ_iterator  Dst 
) const

Definition at line 64 of file MachineBranchProbabilityInfo.cpp.

MachineBasicBlock * MachineBranchProbabilityInfo::getHotSucc ( MachineBasicBlock MBB) const
uint32_t MachineBranchProbabilityInfo::getSumForBlock ( const MachineBasicBlock MBB,
uint32_t &  Scale 
) const
bool MachineBranchProbabilityInfo::isEdgeHot ( MachineBasicBlock Src,
MachineBasicBlock Dst 
) const

Definition at line 80 of file MachineBranchProbabilityInfo.cpp.

References getEdgeProbability().

Referenced by printEdgeProbability().

raw_ostream & MachineBranchProbabilityInfo::printEdgeProbability ( raw_ostream OS,
MachineBasicBlock Src,
MachineBasicBlock Dst 
) const

Member Data Documentation

machine branch Machine Branch Probability true char MachineBranchProbabilityInfo::ID = 0
static

Definition at line 36 of file MachineBranchProbabilityInfo.h.


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