diff options
author | Cong Hou <congh@google.com> | 2015-12-15 01:21:14 +0000 |
---|---|---|
committer | Cong Hou <congh@google.com> | 2015-12-15 01:21:14 +0000 |
commit | 750c9e0457d9148f27833a1d69a13cfa65226bbe (patch) | |
tree | 101425595dbdd82fa0c816f38d7a80b3a3bd1645 | |
parent | 48b840dda1226a4e017ac847c7d9079d19877619 (diff) | |
download | bcm5719-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.h | 19 |
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) { |