<div dir="ltr">It is the BFI that does that. See BlockFrequencyInfoImpl<BT>::propagateMassToSuccessors, and addToDist method which turns 0 weight from BP into 1.<div><br></div><div>Clang FE  does this indirectly for FE based PGO -- all weights after scaling will be added with 1.    User profile annotation will remain unchanged.</div><div><br></div><div>David<br><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 16, 2017 at 11:01 PM, Serguei Katkov via Phabricator <span dir="ltr"><<a href="mailto:reviews@reviews.llvm.org" target="_blank">reviews@reviews.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">skatkov added a comment.<br>
<br>
Hello guys,<br>
<br>
you are saying that BFI bumps the zero probability but I still see in MachineBlockPlacement pass that it actively uses branch probabilities and it seems that they are original ones. At least I see the zero probability if I set it in metadata.<br>
<br>
Could you please point me to the place where it is bumped?<br>
<br>
Thank you,<br>
Serguei.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D30633" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D30633</a><br>
<br>
<br>
<br>
</blockquote></div><br></div>