summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCong Hou <congh@google.com>2015-12-15 01:21:14 +0000
committerCong Hou <congh@google.com>2015-12-15 01:21:14 +0000
commit750c9e0457d9148f27833a1d69a13cfa65226bbe (patch)
tree101425595dbdd82fa0c816f38d7a80b3a3bd1645
parent48b840dda1226a4e017ac847c7d9079d19877619 (diff)
downloadbcm5719-llvm-750c9e0457d9148f27833a1d69a13cfa65226bbe.tar.gz
bcm5719-llvm-750c9e0457d9148f27833a1d69a13cfa65226bbe.zip
Let operator/ with uint32_t rhs operand be a member of BranchProbability and add a new operator /=. NFC.
llvm-svn: 255595
-rw-r--r--llvm/include/llvm/Support/BranchProbability.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/llvm/include/llvm/Support/BranchProbability.h b/llvm/include/llvm/Support/BranchProbability.h
index 2548384f346..415805ce397 100644
--- a/llvm/include/llvm/Support/BranchProbability.h
+++ b/llvm/include/llvm/Support/BranchProbability.h
@@ -117,6 +117,14 @@ public:
return *this;
}
+ BranchProbability &operator/=(uint32_t RHS) {
+ assert(N != UnknownN &&
+ "Unknown probability cannot participate in arithmetics.");
+ assert(RHS > 0 && "The divider cannot be zero.");
+ N /= RHS;
+ return *this;
+ }
+
BranchProbability operator+(BranchProbability RHS) const {
BranchProbability Prob(*this);
return Prob += RHS;
@@ -132,6 +140,11 @@ public:
return Prob *= RHS;
}
+ BranchProbability operator/(uint32_t RHS) const {
+ BranchProbability Prob(*this);
+ return Prob /= RHS;
+ }
+
bool operator==(BranchProbability RHS) const { return N == RHS.N; }
bool operator!=(BranchProbability RHS) const { return !(*this == RHS); }
@@ -164,12 +177,6 @@ inline raw_ostream &operator<<(raw_ostream &OS, BranchProbability Prob) {
return Prob.print(OS);
}
-inline BranchProbability operator/(BranchProbability LHS, uint32_t RHS) {
- assert(LHS != BranchProbability::getUnknown() &&
- "Unknown probability cannot participate in arithmetics.");
- return BranchProbability::getRaw(LHS.getNumerator() / RHS);
-}
-
template <class ProbabilityIter>
void BranchProbability::normalizeProbabilities(ProbabilityIter Begin,
ProbabilityIter End) {
OpenPOWER on IntegriCloud