aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm/lib/Support/BranchProbability.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/lib/Support/BranchProbability.cpp')
-rw-r--r--contrib/llvm/lib/Support/BranchProbability.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/contrib/llvm/lib/Support/BranchProbability.cpp b/contrib/llvm/lib/Support/BranchProbability.cpp
new file mode 100644
index 000000000000..e8b83e59802d
--- /dev/null
+++ b/contrib/llvm/lib/Support/BranchProbability.cpp
@@ -0,0 +1,36 @@
+//===-------------- lib/Support/BranchProbability.cpp -----------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements Branch Probability class.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Support/BranchProbability.h"
+#include "llvm/Support/Debug.h"
+#include "llvm/Support/Format.h"
+#include "llvm/Support/raw_ostream.h"
+
+using namespace llvm;
+
+void BranchProbability::print(raw_ostream &OS) const {
+ OS << N << " / " << D << " = " << format("%g%%", ((double)N / D) * 100.0);
+}
+
+void BranchProbability::dump() const {
+ dbgs() << *this << '\n';
+}
+
+namespace llvm {
+
+raw_ostream &operator<<(raw_ostream &OS, const BranchProbability &Prob) {
+ Prob.print(OS);
+ return OS;
+}
+
+}