projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Turn const/const& into value type for BlockFrequency in functions of this class....
[oota-llvm.git]
/
include
/
llvm
/
Support
/
BlockFrequency.h
diff --git
a/include/llvm/Support/BlockFrequency.h
b/include/llvm/Support/BlockFrequency.h
index 997d11e47ab752c655327dcacba6ae876e7bf0da..2dccfa26d8929c66694eef22e38a6e1ef6675c4f 100644
(file)
--- a/
include/llvm/Support/BlockFrequency.h
+++ b/
include/llvm/Support/BlockFrequency.h
@@
-14,23
+14,17
@@
#ifndef LLVM_SUPPORT_BLOCKFREQUENCY_H
#define LLVM_SUPPORT_BLOCKFREQUENCY_H
#ifndef LLVM_SUPPORT_BLOCKFREQUENCY_H
#define LLVM_SUPPORT_BLOCKFREQUENCY_H
+#include "llvm/Support/BranchProbability.h"
#include "llvm/Support/DataTypes.h"
namespace llvm {
class raw_ostream;
#include "llvm/Support/DataTypes.h"
namespace llvm {
class raw_ostream;
-class BranchProbability;
// This class represents Block Frequency as a 64-bit value.
class BlockFrequency {
// This class represents Block Frequency as a 64-bit value.
class BlockFrequency {
-
uint64_t Frequency;
uint64_t Frequency;
- /// \brief Scale the given BlockFrequency by N/D. Return the remainder from
- /// the division by D. Upon overflow, the routine will saturate and
- /// additionally will return the remainder set to D.
- uint32_t scale(uint32_t N, uint32_t D);
-
public:
BlockFrequency(uint64_t Freq = 0) : Frequency(Freq) { }
public:
BlockFrequency(uint64_t Freq = 0) : Frequency(Freq) { }
@@
-43,35
+37,34
@@
public:
/// \brief Multiplies with a branch probability. The computation will never
/// overflow.
/// \brief Multiplies with a branch probability. The computation will never
/// overflow.
- BlockFrequency &operator*=(
const BranchProbability &
Prob);
-
const BlockFrequency operator*(const BranchProbability &
Prob) const;
+ BlockFrequency &operator*=(
BranchProbability
Prob);
+
BlockFrequency operator*(BranchProbability
Prob) const;
/// \brief Divide by a non-zero branch probability using saturating
/// arithmetic.
/// \brief Divide by a non-zero branch probability using saturating
/// arithmetic.
- BlockFrequency &operator/=(
const BranchProbability &
Prob);
- BlockFrequency operator/(
const BranchProbability &
Prob) const;
+ BlockFrequency &operator/=(
BranchProbability
Prob);
+ BlockFrequency operator/(
BranchProbability
Prob) const;
/// \brief Adds another block frequency using saturating arithmetic.
/// \brief Adds another block frequency using saturating arithmetic.
- BlockFrequency &operator+=(
const BlockFrequency &
Freq);
-
const BlockFrequency operator+(const BlockFrequency &
Freq) const;
+ BlockFrequency &operator+=(
BlockFrequency
Freq);
+
BlockFrequency operator+(BlockFrequency
Freq) const;
- /// \brief Scale the given BlockFrequency by N/D. Return the remainder from
- /// the division by D. Upon overflow, the routine will saturate.
- uint32_t scale(const BranchProbability &Prob);
+ /// \brief Shift block frequency to the right by count digits saturating to 1.
+ BlockFrequency &operator>>=(const unsigned count);
- bool operator<(
const BlockFrequency &
RHS) const {
+ bool operator<(
BlockFrequency
RHS) const {
return Frequency < RHS.Frequency;
}
return Frequency < RHS.Frequency;
}
- bool operator<=(
const BlockFrequency &
RHS) const {
+ bool operator<=(
BlockFrequency
RHS) const {
return Frequency <= RHS.Frequency;
}
return Frequency <= RHS.Frequency;
}
- bool operator>(
const BlockFrequency &
RHS) const {
+ bool operator>(
BlockFrequency
RHS) const {
return Frequency > RHS.Frequency;
}
return Frequency > RHS.Frequency;
}
- bool operator>=(
const BlockFrequency &
RHS) const {
+ bool operator>=(
BlockFrequency
RHS) const {
return Frequency >= RHS.Frequency;
}
};
return Frequency >= RHS.Frequency;
}
};