|
LLVM 23.0.0git
|
#include "llvm/Support/BranchProbability.h"
Static Public Member Functions | |
| static constexpr BranchProbability | getZero () |
| static constexpr BranchProbability | getOne () |
| static constexpr BranchProbability | getUnknown () |
| static constexpr 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.
|
inlineconstexpr |
Definition at line 45 of file BranchProbability.h.
Referenced by getBranchProbability(), getBranchProbability(), getCompl(), getOne(), getRaw(), getUnknown(), and getZero().
|
inlineconstexpr |
Definition at line 46 of file BranchProbability.h.
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 51 of file BranchProbability.cpp.
References assert(), and BranchProbability().
|
static |
Definition at line 39 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 94 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 90 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 89 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().
|
inlinestaticconstexpr |
Definition at line 63 of file BranchProbability.h.
References BranchProbability().
Referenced by llvm::X86FrameLowering::adjustForSegmentedStacks(), CloneLoopBlocks(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), getAdjustedProbability(), pow(), scaleCaseProbality(), and llvm::UnrollLoop().
|
inlinestaticconstexpr |
Definition at line 69 of file BranchProbability.h.
References BranchProbability().
Referenced by llvm::object::decodeBBAddrMapPayload(), and normalizeProbabilities().
|
inlinestaticconstexpr |
Definition at line 64 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().
|
inlinestaticconstexpr |
Definition at line 62 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 59 of file BranchProbability.h.
Referenced by fixProbContradiction(), probOfNextInRemainder(), and llvm::UnrollLoop().
|
inline |
Definition at line 60 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 58 of file BranchProbability.h.
|
inlinestatic |
Definition at line 85 of file BranchProbability.h.
References llvm::adl_begin(), llvm::adl_end(), and normalizeProbabilities().
|
static |
Definition at line 235 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 203 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 178 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 184 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 166 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 121 of file BranchProbability.h.
|
inline |
Definition at line 172 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 129 of file BranchProbability.h.
|
inline |
Definition at line 190 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 196 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 151 of file BranchProbability.h.
|
inline |
Definition at line 158 of file BranchProbability.h.
|
inline |
Definition at line 205 of file BranchProbability.h.
|
inline |
Definition at line 217 of file BranchProbability.h.
|
inline |
Definition at line 202 of file BranchProbability.h.
References RHS.
|
inline |
Definition at line 211 of file BranchProbability.h.
|
inline |
Definition at line 223 of file BranchProbability.h.
| BranchProbability BranchProbability::pow | ( | unsigned | N | ) | const |
Compute pow(Probability, N).
Definition at line 106 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 98 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 102 of file BranchProbability.cpp.
Referenced by llvm::BlockFrequency::operator/=().
|
inline |
Definition at line 91 of file BranchProbability.h.
Referenced by CloneLoopBlocks(), and fixProbContradiction().