LLVM API Documentation
#include <MachineBranchProbabilityInfo.h>
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 |
MachineBasicBlock * | getHotSucc (MachineBasicBlock *MBB) const |
BranchProbability | getEdgeProbability (MachineBasicBlock *Src, MachineBasicBlock *Dst) const |
raw_ostream & | printEdgeProbability (raw_ostream &OS, MachineBasicBlock *Src, MachineBasicBlock *Dst) const |
![]() | |
virtual void | initializePass () |
virtual ImmutablePass * | getAsImmutablePass () |
bool | runOnModule (Module &) |
ImmutablePass (char &pid) | |
virtual | ~ImmutablePass () |
![]() | |
Pass * | createPrinterPass (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 () |
![]() | |
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) |
AnalysisResolver * | getResolver () const |
virtual void | releaseMemory () |
virtual void * | getAdjustedAnalysisPointer (AnalysisID ID) |
virtual PMDataManager * | getAsPMDataManager () |
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 const PassInfo * | lookupPassInfo (const void *TI) |
static const PassInfo * | lookupPassInfo (StringRef Arg) |
static Pass * | createPass (AnalysisID ID) |
Definition at line 24 of file MachineBranchProbabilityInfo.h.
|
inline |
Definition at line 38 of file MachineBranchProbabilityInfo.h.
References llvm::PassRegistry::getPassRegistry(), and llvm::initializeMachineBranchProbabilityInfoPass().
|
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 |
Definition at line 107 of file MachineBranchProbabilityInfo.cpp.
References getEdgeWeight(), getSumForBlock(), and N.
Referenced by llvm::HexagonInstrInfo::getDotNewPredJumpOp(), getHotSucc(), getNewValueJumpOpcode(), isEdgeHot(), and printEdgeProbability().
uint32_t MachineBranchProbabilityInfo::getEdgeWeight | ( | const MachineBasicBlock * | Src, |
const MachineBasicBlock * | Dst | ||
) | const |
Definition at line 73 of file MachineBranchProbabilityInfo.cpp.
References llvm::MachineBasicBlock::succ_begin(), and llvm::MachineBasicBlock::succ_end().
Referenced by getEdgeProbability(), getHotSucc(), and getSumForBlock().
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 |
Definition at line 88 of file MachineBranchProbabilityInfo.cpp.
References getEdgeProbability(), getEdgeWeight(), I, llvm::MachineBasicBlock::succ_begin(), and llvm::MachineBasicBlock::succ_end().
uint32_t MachineBranchProbabilityInfo::getSumForBlock | ( | const MachineBasicBlock * | MBB, |
uint32_t & | Scale | ||
) | const |
Definition at line 32 of file MachineBranchProbabilityInfo.cpp.
References getEdgeWeight(), I, llvm::MachineBasicBlock::succ_begin(), llvm::MachineBasicBlock::succ_end(), and llvm::MachineBasicBlock::succ_size().
Referenced by getEdgeProbability().
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 |
Definition at line 117 of file MachineBranchProbabilityInfo.cpp.
References getEdgeProbability(), llvm::MachineBasicBlock::getNumber(), and isEdgeHot().
Definition at line 36 of file MachineBranchProbabilityInfo.h.