LLVM  4.0.0
Public Member Functions | Static Public Member Functions | List of all members
llvm::BranchProbability Class Reference

#include <BranchProbability.h>

Public Member Functions

 BranchProbability ()
 
 BranchProbability (uint32_t Numerator, uint32_t Denominator)
 
bool isZero () const
 
bool isUnknown () const
 
uint32_t getNumerator () const
 
BranchProbability getCompl () const
 
raw_ostreamprint (raw_ostream &OS) const
 
void dump () const
 
uint64_t scale (uint64_t Num) const
 Scale a large integer. More...
 
uint64_t scaleByInverse (uint64_t Num) const
 Scale a large integer by the inverse. More...
 
BranchProbabilityoperator+= (BranchProbability RHS)
 
BranchProbabilityoperator-= (BranchProbability RHS)
 
BranchProbabilityoperator*= (BranchProbability RHS)
 
BranchProbabilityoperator/= (uint32_t RHS)
 
BranchProbability operator+ (BranchProbability RHS) const
 
BranchProbability operator- (BranchProbability RHS) const
 
BranchProbability operator* (BranchProbability RHS) const
 
BranchProbability operator/ (uint32_t RHS) const
 
bool operator== (BranchProbability RHS) const
 
bool operator!= (BranchProbability RHS) const
 
bool operator< (BranchProbability RHS) const
 
bool operator> (BranchProbability RHS) const
 
bool operator<= (BranchProbability RHS) const
 
bool operator>= (BranchProbability RHS) const
 

Static Public Member Functions

static BranchProbability getZero ()
 
static BranchProbability getOne ()
 
static BranchProbability getUnknown ()
 
static BranchProbability getRaw (uint32_t N)
 
static BranchProbability getBranchProbability (uint64_t Numerator, uint64_t Denominator)
 
template<class ProbabilityIter >
static void normalizeProbabilities (ProbabilityIter Begin, ProbabilityIter End)
 
static uint32_t getDenominator ()
 

Detailed Description

Definition at line 31 of file BranchProbability.h.

Constructor & Destructor Documentation

llvm::BranchProbability::BranchProbability ( )
inline

Definition at line 44 of file BranchProbability.h.

Referenced by getBranchProbability(), getCompl(), getOne(), getRaw(), getUnknown(), and getZero().

BranchProbability::BranchProbability ( uint32_t  Numerator,
uint32_t  Denominator 
)

Definition at line 37 of file BranchProbability.cpp.

References assert().

Member Function Documentation

LLVM_DUMP_METHOD void BranchProbability::dump ( void  ) const

Definition at line 35 of file BranchProbability.cpp.

References llvm::dbgs(), and print().

BranchProbability BranchProbability::getBranchProbability ( uint64_t  Numerator,
uint64_t  Denominator 
)
static
BranchProbability llvm::BranchProbability::getCompl ( ) const
inline
static uint32_t llvm::BranchProbability::getDenominator ( )
inlinestatic
uint32_t llvm::BranchProbability::getNumerator ( ) const
inline
static BranchProbability llvm::BranchProbability::getOne ( )
inlinestatic
static BranchProbability llvm::BranchProbability::getRaw ( uint32_t  N)
inlinestatic

Definition at line 55 of file BranchProbability.h.

References BranchProbability().

Referenced by normalizeProbabilities().

static BranchProbability llvm::BranchProbability::getUnknown ( )
inlinestatic

Definition at line 52 of file BranchProbability.h.

References BranchProbability().

static BranchProbability llvm::BranchProbability::getZero ( )
inlinestatic
bool llvm::BranchProbability::isUnknown ( ) const
inline
bool llvm::BranchProbability::isZero ( ) const
inline

Definition at line 47 of file BranchProbability.h.

template<class ProbabilityIter >
void llvm::BranchProbability::normalizeProbabilities ( ProbabilityIter  Begin,
ProbabilityIter  End 
)
static
bool llvm::BranchProbability::operator!= ( BranchProbability  RHS) const
inline

Definition at line 144 of file BranchProbability.h.

BranchProbability llvm::BranchProbability::operator* ( BranchProbability  RHS) const
inline

Definition at line 133 of file BranchProbability.h.

BranchProbability& llvm::BranchProbability::operator*= ( BranchProbability  RHS)
inline

Definition at line 108 of file BranchProbability.h.

References assert().

BranchProbability llvm::BranchProbability::operator+ ( BranchProbability  RHS) const
inline

Definition at line 123 of file BranchProbability.h.

BranchProbability& llvm::BranchProbability::operator+= ( BranchProbability  RHS)
inline

Definition at line 92 of file BranchProbability.h.

References assert().

BranchProbability llvm::BranchProbability::operator- ( BranchProbability  RHS) const
inline

Definition at line 128 of file BranchProbability.h.

BranchProbability& llvm::BranchProbability::operator-= ( BranchProbability  RHS)
inline

Definition at line 100 of file BranchProbability.h.

References assert().

BranchProbability llvm::BranchProbability::operator/ ( uint32_t  RHS) const
inline

Definition at line 138 of file BranchProbability.h.

BranchProbability& llvm::BranchProbability::operator/= ( uint32_t  RHS)
inline

Definition at line 115 of file BranchProbability.h.

References assert().

bool llvm::BranchProbability::operator< ( BranchProbability  RHS) const
inline

Definition at line 146 of file BranchProbability.h.

References assert().

bool llvm::BranchProbability::operator<= ( BranchProbability  RHS) const
inline

Definition at line 158 of file BranchProbability.h.

References assert().

bool llvm::BranchProbability::operator== ( BranchProbability  RHS) const
inline

Definition at line 143 of file BranchProbability.h.

bool llvm::BranchProbability::operator> ( BranchProbability  RHS) const
inline

Definition at line 152 of file BranchProbability.h.

References assert().

bool llvm::BranchProbability::operator>= ( BranchProbability  RHS) const
inline

Definition at line 164 of file BranchProbability.h.

References assert().

raw_ostream & BranchProbability::print ( raw_ostream OS) const

Definition at line 24 of file BranchProbability.cpp.

References llvm::format(), isUnknown(), and llvm::Percent.

Referenced by dump(), and llvm::operator<<().

uint64_t BranchProbability::scale ( uint64_t  Num) const

Scale a large integer.

Scales Num. Guarantees full precision. Returns the floor of the result.

Returns
Num times this.

Definition at line 108 of file BranchProbability.cpp.

Referenced by llvm::CFGMST< Edge, BBInfo >::buildEdges(), llvm::ARMBaseInstrInfo::isProfitableToIfCvt(), llvm::BlockFrequency::operator*=(), and llvm::bfi_detail::BlockMass::operator*=().

uint64_t BranchProbability::scaleByInverse ( uint64_t  Num) const

Scale a large integer by the inverse.

Scales Num by the inverse of this. Guarantees full precision. Returns the floor of the result.

Returns
Num divided by this.

Definition at line 112 of file BranchProbability.cpp.

Referenced by llvm::BlockFrequency::operator/=().


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