Add a cautionary note to this API. It was not at all obvious to me how
authorChandler Carruth <chandlerc@gmail.com>
Mon, 14 Nov 2011 06:51:49 +0000 (06:51 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 14 Nov 2011 06:51:49 +0000 (06:51 +0000)
expensive the most useful interface to this analysis is.

Fun story -- it's also not correct. That's getting fixed in another
patch.

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

include/llvm/CodeGen/MachineBranchProbabilityInfo.h

index d9673e2197c863664951d972b4a7afa451b1c321..39d2f32982b2df0506172b04e3033535a8e63c02 100644 (file)
@@ -62,6 +62,9 @@ public:
   // Return a probability as a fraction between 0 (0% probability) and
   // 1 (100% probability), however the value is never equal to 0, and can be 1
   // only iff SRC block has only one successor.
+  // NB: This routine's complexity is linear on the number of successors of
+  // Src. Querying sequentially for each successor's probability is a quadratic
+  // query pattern.
   BranchProbability getEdgeProbability(MachineBasicBlock *Src,
                                        MachineBasicBlock *Dst) const;