- Make BranchProbability constructor public.
authorJakub Staszak <jstaszak@apple.com>
Sun, 10 Jul 2011 02:12:39 +0000 (02:12 +0000)
committerJakub Staszak <jstaszak@apple.com>
Sun, 10 Jul 2011 02:12:39 +0000 (02:12 +0000)
- Add getCompl() method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134857 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/MachineBranchProbabilityInfo.h
include/llvm/Support/BranchProbability.h

index f3b3e0e687c7b2c5c2c88f3976a9d16915ec62c4..d9673e2197c863664951d972b4a7afa451b1c321 100644 (file)
@@ -22,6 +22,7 @@
 namespace llvm {
 
 class raw_ostream;
+class MachineBasicBlock;
 
 class MachineBranchProbabilityInfo : public ImmutablePass {
 
index c66d2248866cba31725866709ea9076d147808b9..2e81490ebf661bfa94f0ed65577368f0085737a9 100644 (file)
 
 namespace llvm {
 
-template<class BlockT, class FunctionT, class BranchProbInfoT>
-class BlockFrequencyImpl;
-class BranchProbabilityInfo;
-class MachineBranchProbabilityInfo;
-class MachineBasicBlock;
 class raw_ostream;
 
 // This class represents Branch Probability as a non-negative fraction.
 class BranchProbability {
-  template<class BlockT, class FunctionT, class BranchProbInfoT>
-  friend class BlockFrequencyImpl;
-  friend class BranchProbabilityInfo;
-  friend class MachineBranchProbabilityInfo;
-  friend class MachineBasicBlock;
 
   // Numerator
   uint32_t N;
@@ -39,12 +29,16 @@ class BranchProbability {
   // Denominator
   uint32_t D;
 
-  BranchProbability(uint32_t n, uint32_t d);
-
 public:
+  BranchProbability(uint32_t n, uint32_t d);
 
   uint32_t getNumerator() const { return N; }
   uint32_t getDenominator() const { return D; }
+  
+  // Return (1 - Probability).
+  BranchProbability getCompl() {
+    return BranchProbability(D - N, D);
+  }
 
   raw_ostream &print(raw_ostream &OS) const;