|
LLVM 22.0.0git
|
#include "llvm/Support/BranchProbability.h"
Static Public Member Functions | |
| static BranchProbability | getZero () |
| static BranchProbability | getOne () |
| static BranchProbability | getUnknown () |
| static BranchProbability | getRaw (uint32_t N) |
| static LLVM_ABI BranchProbability | getBranchProbability (uint64_t Numerator, uint64_t Denominator) |
| static LLVM_ABI BranchProbability | getBranchProbability (double Prob) |
| template<class ProbabilityIter> | |
| static void | normalizeProbabilities (ProbabilityIter Begin, ProbabilityIter End) |
| template<class ProbabilityContainer> | |
| static void | normalizeProbabilities (ProbabilityContainer &&R) |
| static uint32_t | getDenominator () |
Definition at line 32 of file BranchProbability.h.
|
inline |
Definition at line 45 of file BranchProbability.h.
Referenced by getBranchProbability(), getBranchProbability(), getCompl(), getOne(), getRaw(), getUnknown(), and getZero().
Definition at line 38 of file BranchProbability.cpp.
References assert().
| LLVM_DUMP_METHOD void BranchProbability::dump | ( | ) | const |
Definition at line 35 of file BranchProbability.cpp.
References llvm::dbgs(), LLVM_DUMP_METHOD, and print().
|
static |
Definition at line 63 of file BranchProbability.cpp.
References assert(), and BranchProbability().
|
static |
Definition at line 51 of file BranchProbability.cpp.
References assert(), and BranchProbability().
Referenced by CloneLoopBlocks(), extractBranchProbabilities(), foldTwoEntryPHINode(), llvm::getBranchProbability(), getCHRBiasThreshold(), llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfo, BranchProbabilityInfo >::getNodeAttributes(), isFormingBranchFromSelectProfitable(), isProfitableToSpeculate(), llvm::peelLoop(), shouldFoldCondBranchesToCommonDestination(), SimplifyCondBranchToCondBranch(), llvm::JumpThreadingPass::unfoldSelectInstr(), updatePredecessorProfileMetadata(), and llvm::misexpect::verifyMisExpect().
|
inline |
Definition at line 79 of file BranchProbability.h.
References BranchProbability().
Referenced by foldTwoEntryPHINode(), llvm::BranchProbabilityInfo::getBranchProbStackProtector(), llvm::ARMBaseInstrInfo::isProfitableToIfCvt(), probOfNextInRemainder(), scaleCaseProbality(), shouldFoldCondBranchesToCommonDestination(), splitMBB(), and updatePredecessorProfileMetadata().
|
inlinestatic |
Definition at line 75 of file BranchProbability.h.
Referenced by llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfo, BranchProbabilityInfo >::getEdgeAttributes(), normalizeProbabilities(), llvm::MachineBasicBlock::print(), scaleCaseProbality(), llvm::BranchProbabilityInfo::setEdgeProbability(), and llvm::MachineBasicBlock::validateSuccProbs().
|
inline |
Definition at line 74 of file BranchProbability.h.
Referenced by llvm::AsmPrinter::emitBBAddrMapSection(), getAdjustedProbability(), llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfo, BranchProbabilityInfo >::getEdgeAttributes(), llvm::getWeightFromBranchProb(), llvm::MachineBasicBlock::print(), scaleCaseProbality(), llvm::setBranchProbability(), and updatePredecessorProfileMetadata().
|
inlinestatic |
Definition at line 52 of file BranchProbability.h.
References BranchProbability().
Referenced by llvm::X86FrameLowering::adjustForSegmentedStacks(), CloneLoopBlocks(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), getAdjustedProbability(), pow(), probOfNextInRemainder(), and scaleCaseProbality().
|
inlinestatic |
Definition at line 56 of file BranchProbability.h.
References BranchProbability().
Referenced by decodeBBAddrMapImpl(), and normalizeProbabilities().
|
inlinestatic |
Definition at line 53 of file BranchProbability.h.
References BranchProbability().
Referenced by llvm::SelectionDAGBuilder::SDAGSwitchLowering::addSuccessorWithProb(), llvm::SwitchCG::SwitchLowering::addSuccessorWithProb(), llvm::SwitchCG::CaseBlock::CaseBlock(), llvm::SwitchCG::CaseBlock::CaseBlock(), llvm::getBranchProbability(), llvm::getLoopProbability(), splitMBB(), and llvm::MachineBasicBlock::splitSuccessor().
|
inlinestatic |
Definition at line 51 of file BranchProbability.h.
References BranchProbability().
Referenced by llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::SwitchCG::SwitchLowering::buildJumpTable(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::BranchProbabilityInfo::getEdgeProbability(), llvm::MachineBasicBlock::getSuccProbability(), normalizeProbabilities(), and scaleCaseProbality().
|
inline |
Definition at line 49 of file BranchProbability.h.
Referenced by CloneLoopBlocks(), ConnectEpilog(), normalizeProbabilities(), print(), llvm::MachineBasicBlock::setSuccProbability(), shouldFoldCondBranchesToCommonDestination(), splitMBB(), llvm::UnrollLoop(), and llvm::UnrollRuntimeLoopRemainder().
|
inline |
Definition at line 48 of file BranchProbability.h.
|
inlinestatic |
Definition at line 70 of file BranchProbability.h.
References llvm::adl_begin(), llvm::adl_end(), and normalizeProbabilities().
|
static |
Definition at line 220 of file BranchProbability.h.
References getDenominator(), getRaw(), getZero(), I, and isUnknown().
Referenced by llvm::MachineBasicBlock::canPredictBranchProbabilities(), llvm::SelectionDAGBuilder::FindMergedConditions(), normalizeProbabilities(), and llvm::MachineBasicBlock::normalizeSuccProbs().
|
inline |
Definition at line 188 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 163 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 169 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 122 of file BranchProbability.h.
|
inline |
Definition at line 129 of file BranchProbability.h.
|
inline |
Definition at line 151 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 106 of file BranchProbability.h.
|
inline |
Definition at line 157 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 114 of file BranchProbability.h.
|
inline |
Definition at line 175 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 181 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 136 of file BranchProbability.h.
|
inline |
Definition at line 143 of file BranchProbability.h.
|
inline |
Definition at line 190 of file BranchProbability.h.
|
inline |
Definition at line 202 of file BranchProbability.h.
|
inline |
Definition at line 187 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 196 of file BranchProbability.h.
|
inline |
Definition at line 208 of file BranchProbability.h.
| BranchProbability BranchProbability::pow | ( | unsigned | N | ) | const |
Compute pow(Probability, N).
Definition at line 118 of file BranchProbability.cpp.
Referenced by probOfNextInRemainder(), llvm::UnrollLoop(), and llvm::UnrollRuntimeLoopRemainder().
| raw_ostream & BranchProbability::print | ( | raw_ostream & | OS | ) | const |
Definition at line 23 of file BranchProbability.cpp.
References llvm::format(), isUnknown(), and llvm::Percent.
Referenced by dump(), and llvm::operator<<().
Scale a large integer.
Scales Num. Guarantees full precision. Returns the floor of the result.
Num times this. Definition at line 110 of file BranchProbability.cpp.
Referenced by llvm::ARMBaseInstrInfo::isProfitableToIfCvt(), llvm::BlockFrequency::operator*=(), and scaleCaseProbality().
Scale a large integer by the inverse.
Scales Num by the inverse of this. Guarantees full precision. Returns the floor of the result.
Num divided by this. Definition at line 114 of file BranchProbability.cpp.
Referenced by llvm::BlockFrequency::operator/=().
|
inline |
Definition at line 76 of file BranchProbability.h.
Referenced by CloneLoopBlocks().