The patch in http://reviews.llvm.org/D13745 is broken into four parts:
- New interfaces without functional changes.
- Use new interfaces in SelectionDAG, while in other passes treat probabilities as weights.
- Use new interfaces in all other passes.
- Remove old interfaces.
This the first patch above.
zero is a valid probability, so do not use to signal 'unknown'
I think we should define a special const BP value to represent 'unknown' BP (which is different from default 1/N). This is doable as the our choice of denominator is 1<<31, so a larger than 1<<1 nominator can be picked to represent the special reserved value