LLVM 22.0.0git
llvm::BlockFrequency Class Reference

#include "llvm/Support/BlockFrequency.h"

Public Member Functions

 BlockFrequency ()
 BlockFrequency (uint64_t Freq)
uint64_t getFrequency () const
 Returns the frequency as a fixpoint number scaled by the entry frequency.
LLVM_ABI BlockFrequencyoperator*= (BranchProbability Prob)
 Multiplies with a branch probability.
LLVM_ABI BlockFrequency operator* (BranchProbability Prob) const
LLVM_ABI BlockFrequencyoperator/= (BranchProbability Prob)
 Divide by a non-zero branch probability using saturating arithmetic.
LLVM_ABI BlockFrequency operator/ (BranchProbability Prob) const
BlockFrequencyoperator+= (BlockFrequency Freq)
 Adds another block frequency using saturating arithmetic.
BlockFrequency operator+ (BlockFrequency Freq) const
BlockFrequencyoperator-= (BlockFrequency Freq)
 Subtracts another block frequency using saturating arithmetic.
BlockFrequency operator- (BlockFrequency Freq) const
LLVM_ABI std::optional< BlockFrequencymul (uint64_t Factor) const
 Multiplies frequency with Factor. Returns nullopt in case of overflow.
BlockFrequencyoperator>>= (const unsigned count)
 Shift block frequency to the right by count digits saturating to 1.
bool operator< (BlockFrequency RHS) const
bool operator<= (BlockFrequency RHS) const
bool operator> (BlockFrequency RHS) const
bool operator>= (BlockFrequency RHS) const
bool operator== (BlockFrequency RHS) const
bool operator!= (BlockFrequency RHS) const

Static Public Member Functions

static BlockFrequency max ()
 Returns the maximum possible frequency, the saturation value.

Detailed Description

Definition at line 27 of file BlockFrequency.h.

Constructor & Destructor Documentation

◆ BlockFrequency() [1/2]

◆ BlockFrequency() [2/2]

llvm::BlockFrequency::BlockFrequency ( uint64_t Freq)
inlineexplicit

Definition at line 32 of file BlockFrequency.h.

Member Function Documentation

◆ getFrequency()

◆ max()

BlockFrequency llvm::BlockFrequency::max ( )
inlinestatic

Returns the maximum possible frequency, the saturation value.

Definition at line 35 of file BlockFrequency.h.

References BlockFrequency(), and UINT64_MAX.

Referenced by llvm::SpillPlacement::Node::addBias().

◆ mul()

std::optional< BlockFrequency > BlockFrequency::mul ( uint64_t Factor) const

Multiplies frequency with Factor. Returns nullopt in case of overflow.

Definition at line 43 of file BlockFrequency.cpp.

References BlockFrequency(), and llvm::SaturatingMultiply().

◆ operator!=()

bool llvm::BlockFrequency::operator!= ( BlockFrequency RHS) const
inline

Definition at line 119 of file BlockFrequency.h.

References BlockFrequency(), and RHS.

◆ operator*()

BlockFrequency BlockFrequency::operator* ( BranchProbability Prob) const

Definition at line 26 of file BlockFrequency.cpp.

References BlockFrequency().

◆ operator*=()

BlockFrequency & BlockFrequency::operator*= ( BranchProbability Prob)

Multiplies with a branch probability.

The computation will never overflow.

Definition at line 21 of file BlockFrequency.cpp.

References BlockFrequency(), and llvm::BranchProbability::scale().

◆ operator+()

BlockFrequency llvm::BlockFrequency::operator+ ( BlockFrequency Freq) const
inline

Definition at line 62 of file BlockFrequency.h.

References BlockFrequency().

◆ operator+=()

BlockFrequency & llvm::BlockFrequency::operator+= ( BlockFrequency Freq)
inline

Adds another block frequency using saturating arithmetic.

Definition at line 52 of file BlockFrequency.h.

References BlockFrequency(), and UINT64_MAX.

◆ operator-()

BlockFrequency llvm::BlockFrequency::operator- ( BlockFrequency Freq) const
inline

Definition at line 77 of file BlockFrequency.h.

References BlockFrequency().

◆ operator-=()

BlockFrequency & llvm::BlockFrequency::operator-= ( BlockFrequency Freq)
inline

Subtracts another block frequency using saturating arithmetic.

Definition at line 69 of file BlockFrequency.h.

References BlockFrequency().

◆ operator/()

BlockFrequency BlockFrequency::operator/ ( BranchProbability Prob) const

Definition at line 37 of file BlockFrequency.cpp.

References BlockFrequency().

◆ operator/=()

BlockFrequency & BlockFrequency::operator/= ( BranchProbability Prob)

Divide by a non-zero branch probability using saturating arithmetic.

Definition at line 32 of file BlockFrequency.cpp.

References BlockFrequency(), and llvm::BranchProbability::scaleByInverse().

◆ operator<()

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

Definition at line 99 of file BlockFrequency.h.

References BlockFrequency(), and RHS.

◆ operator<=()

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

Definition at line 103 of file BlockFrequency.h.

References BlockFrequency(), and RHS.

◆ operator==()

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

Definition at line 115 of file BlockFrequency.h.

References BlockFrequency(), and RHS.

◆ operator>()

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

Definition at line 107 of file BlockFrequency.h.

References BlockFrequency(), and RHS.

◆ operator>=()

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

Definition at line 111 of file BlockFrequency.h.

References BlockFrequency(), and RHS.

◆ operator>>=()

BlockFrequency & llvm::BlockFrequency::operator>>= ( const unsigned count)
inline

Shift block frequency to the right by count digits saturating to 1.

Definition at line 87 of file BlockFrequency.h.

References assert(), BlockFrequency(), and llvm::count().


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