21 Frequency = Prob.
scale(Frequency);
43 uint64_t Before = Freq.Frequency;
44 Frequency += Freq.Frequency;
47 if (Frequency < Before)
48 Frequency = UINT64_MAX;
61 if (Frequency <= Freq.Frequency)
64 Frequency -= Freq.Frequency;
82 Frequency |= Frequency == 0;
BlockFrequency operator*(BranchProbability Prob) const
BlockFrequency & operator/=(BranchProbability Prob)
Divide by a non-zero branch probability using saturating arithmetic.
auto count(R &&Range, const E &Element) -> typename std::iterator_traits< decltype(std::begin(Range))>::difference_type
Wrapper function around std::count to count the number of times an element Element occurs in the give...
BlockFrequency & operator+=(BlockFrequency Freq)
Adds another block frequency using saturating arithmetic.
uint64_t scaleByInverse(uint64_t Num) const
Scale a large integer by the inverse.
BlockFrequency & operator-=(BlockFrequency Freq)
Subtracts another block frequency using saturating arithmetic.
BlockFrequency operator+(BlockFrequency Freq) const
BlockFrequency & operator*=(BranchProbability Prob)
Multiplies with a branch probability.
uint64_t scale(uint64_t Num) const
Scale a large integer.
BlockFrequency operator-(BlockFrequency Freq) const
BlockFrequency operator/(BranchProbability Prob) const
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
BlockFrequency & operator>>=(const unsigned count)
Shift block frequency to the right by count digits saturating to 1.