|
LLVM 23.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(), fixProbContradiction(), foldTwoEntryPHINode(), llvm::getBranchProbability(), getCHRBiasThreshold(), llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfo, BranchProbabilityInfo >::getNodeAttributes(), isFormingBranchFromSelectProfitable(), isProfitableToSpeculate(), llvm::peelLoop(), shouldFoldCondBranchesToCommonDestination(), SimplifyCondBranchToCondBranch(), llvm::JumpThreadingPass::tryToUnfoldSelectInCurrBB(), llvm::JumpThreadingPass::unfoldSelectInstr(), updatePredecessorProfileMetadata(), and llvm::misexpect::verifyMisExpect().
|
inline |
Definition at line 80 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 76 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 75 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 53 of file BranchProbability.h.
References BranchProbability().
Referenced by llvm::X86FrameLowering::adjustForSegmentedStacks(), CloneLoopBlocks(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), getAdjustedProbability(), pow(), scaleCaseProbality(), and llvm::UnrollLoop().
|
inlinestatic |
Definition at line 57 of file BranchProbability.h.
References BranchProbability().
Referenced by llvm::object::decodeBBAddrMapPayload(), and normalizeProbabilities().
|
inlinestatic |
Definition at line 54 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::getBranchProbability(), llvm::getLoopProbability(), splitMBB(), and llvm::MachineBasicBlock::splitSuccessor().
|
inlinestatic |
Definition at line 52 of file BranchProbability.h.
References BranchProbability().
Referenced by llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::SwitchCG::SwitchLowering::buildBitTests(), llvm::SwitchCG::SwitchLowering::buildJumpTable(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::getBranchProbability(), llvm::BranchProbabilityInfo::getEdgeProbability(), llvm::MachineBasicBlock::getSuccProbability(), normalizeProbabilities(), scaleCaseProbality(), and llvm::UnrollLoop().
|
inline |
Definition at line 49 of file BranchProbability.h.
Referenced by fixProbContradiction(), probOfNextInRemainder(), and llvm::UnrollLoop().
|
inline |
Definition at line 50 of file BranchProbability.h.
Referenced by CloneLoopBlocks(), ConnectEpilog(), fixProbContradiction(), 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 71 of file BranchProbability.h.
References llvm::adl_begin(), llvm::adl_end(), and normalizeProbabilities().
|
static |
Definition at line 221 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 189 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 164 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 170 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 123 of file BranchProbability.h.
|
inline |
Definition at line 130 of file BranchProbability.h.
|
inline |
Definition at line 152 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 107 of file BranchProbability.h.
|
inline |
Definition at line 158 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 115 of file BranchProbability.h.
|
inline |
Definition at line 176 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 182 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 137 of file BranchProbability.h.
|
inline |
Definition at line 144 of file BranchProbability.h.
|
inline |
Definition at line 191 of file BranchProbability.h.
|
inline |
Definition at line 203 of file BranchProbability.h.
|
inline |
Definition at line 188 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 197 of file BranchProbability.h.
|
inline |
Definition at line 209 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 77 of file BranchProbability.h.
Referenced by CloneLoopBlocks(), and fixProbContradiction().