| 
    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) | 
| 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(), 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 51 of file BranchProbability.cpp.
References assert(), and BranchProbability().
Referenced by CloneLoopBlocks(), extractBranchProbabilities(), foldTwoEntryPHINode(), llvm::getBranchProbability(), getCHRBiasThreshold(), llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfo, BranchProbabilityInfo >::getNodeAttributes(), isFormingBranchFromSelectProfitable(), isProfitableToSpeculate(), shouldFoldCondBranchesToCommonDestination(), SimplifyCondBranchToCondBranch(), llvm::JumpThreadingPass::unfoldSelectInstr(), updatePredecessorProfileMetadata(), and llvm::misexpect::verifyMisExpect().
      
  | 
  inline | 
Definition at line 76 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 73 of file BranchProbability.h.
Referenced by CloneLoopBlocks(), llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfo, BranchProbabilityInfo >::getEdgeAttributes(), normalizeProbabilities(), llvm::MachineBasicBlock::print(), scaleCaseProbality(), llvm::BranchProbabilityInfo::setEdgeProbability(), and llvm::MachineBasicBlock::validateSuccProbs().
      
  | 
  inline | 
Definition at line 72 of file BranchProbability.h.
Referenced by CloneLoopBlocks(), 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(), 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 68 of file BranchProbability.h.
References llvm::adl_begin(), llvm::adl_end(), and normalizeProbabilities().
      
  | 
  static | 
Definition at line 217 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 185 of file BranchProbability.h.
References RHS.
      
  | 
  inline | 
Definition at line 160 of file BranchProbability.h.
References RHS.
      
  | 
  inline | 
Definition at line 166 of file BranchProbability.h.
References RHS.
      
  | 
  inline | 
Definition at line 119 of file BranchProbability.h.
      
  | 
  inline | 
Definition at line 126 of file BranchProbability.h.
      
  | 
  inline | 
Definition at line 148 of file BranchProbability.h.
References RHS.
      
  | 
  inline | 
Definition at line 103 of file BranchProbability.h.
      
  | 
  inline | 
Definition at line 154 of file BranchProbability.h.
References RHS.
      
  | 
  inline | 
Definition at line 111 of file BranchProbability.h.
      
  | 
  inline | 
Definition at line 172 of file BranchProbability.h.
References RHS.
      
  | 
  inline | 
Definition at line 178 of file BranchProbability.h.
References RHS.
      
  | 
  inline | 
Definition at line 133 of file BranchProbability.h.
      
  | 
  inline | 
Definition at line 140 of file BranchProbability.h.
      
  | 
  inline | 
Definition at line 187 of file BranchProbability.h.
      
  | 
  inline | 
Definition at line 199 of file BranchProbability.h.
      
  | 
  inline | 
Definition at line 184 of file BranchProbability.h.
References RHS.
      
  | 
  inline | 
Definition at line 193 of file BranchProbability.h.
      
  | 
  inline | 
Definition at line 205 of file BranchProbability.h.
| BranchProbability BranchProbability::pow | ( | unsigned | N | ) | const | 
Compute pow(Probability, N).
Definition at line 113 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 105 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 109 of file BranchProbability.cpp.
Referenced by llvm::BlockFrequency::operator/=().