summaryrefslogtreecommitdiff
path: root/contrib/llvm/lib/Support/BlockFrequency.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-12-20 19:53:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-12-20 19:53:05 +0000
commit0b57cec536236d46e3dba9bd041533462f33dbb7 (patch)
tree56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/llvm/lib/Support/BlockFrequency.cpp
parent718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff)
Notes
Diffstat (limited to 'contrib/llvm/lib/Support/BlockFrequency.cpp')
-rw-r--r--contrib/llvm/lib/Support/BlockFrequency.cpp82
1 files changed, 0 insertions, 82 deletions
diff --git a/contrib/llvm/lib/Support/BlockFrequency.cpp b/contrib/llvm/lib/Support/BlockFrequency.cpp
deleted file mode 100644
index 2b63294f3789..000000000000
--- a/contrib/llvm/lib/Support/BlockFrequency.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//====--------------- lib/Support/BlockFrequency.cpp -----------*- C++ -*-====//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This file implements Block Frequency class.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Support/BlockFrequency.h"
-#include <cassert>
-
-using namespace llvm;
-
-BlockFrequency &BlockFrequency::operator*=(BranchProbability Prob) {
- Frequency = Prob.scale(Frequency);
- return *this;
-}
-
-BlockFrequency BlockFrequency::operator*(BranchProbability Prob) const {
- BlockFrequency Freq(Frequency);
- Freq *= Prob;
- return Freq;
-}
-
-BlockFrequency &BlockFrequency::operator/=(BranchProbability Prob) {
- Frequency = Prob.scaleByInverse(Frequency);
- return *this;
-}
-
-BlockFrequency BlockFrequency::operator/(BranchProbability Prob) const {
- BlockFrequency Freq(Frequency);
- Freq /= Prob;
- return Freq;
-}
-
-BlockFrequency &BlockFrequency::operator+=(BlockFrequency Freq) {
- uint64_t Before = Freq.Frequency;
- Frequency += Freq.Frequency;
-
- // If overflow, set frequency to the maximum value.
- if (Frequency < Before)
- Frequency = UINT64_MAX;
-
- return *this;
-}
-
-BlockFrequency BlockFrequency::operator+(BlockFrequency Freq) const {
- BlockFrequency NewFreq(Frequency);
- NewFreq += Freq;
- return NewFreq;
-}
-
-BlockFrequency &BlockFrequency::operator-=(BlockFrequency Freq) {
- // If underflow, set frequency to 0.
- if (Frequency <= Freq.Frequency)
- Frequency = 0;
- else
- Frequency -= Freq.Frequency;
- return *this;
-}
-
-BlockFrequency BlockFrequency::operator-(BlockFrequency Freq) const {
- BlockFrequency NewFreq(Frequency);
- NewFreq -= Freq;
- return NewFreq;
-}
-
-BlockFrequency &BlockFrequency::operator>>=(const unsigned count) {
- // Frequency can never be 0 by design.
- assert(Frequency != 0);
-
- // Shift right by count.
- Frequency >>= count;
-
- // Saturate to 1 if we are 0.
- Frequency |= Frequency == 0;
- return *this;
-}