<div dir="ltr">This is certainly very useful! My comments are related to determining the inline reason.<div><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><b>   -> INLINE: stat (35<=487)<u></u><u></u></b></p>
<p class="MsoNormal"><b>      <<Callee is single basic block>></b></p></div></div></blockquote><div>In the above example, the callee would have been inlined even if the single BB bonus is not applied to the threshold (since 35 <= 225). The fact that it is single BB didn't tip the scales. If the stat were, say, (300 <= 487), then the fact that it is a single BB is crucial. Perhaps, there could be a way to specify a primary reason and many secondary reasons? </div><div> </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><b>   -> INLINE: setExit (15<=225)<u></u><u></u></b></p>
<p class="MsoNormal"><b>      <<Inlining is profitable>></b></p></div></div></blockquote><div><br></div><div>I think it is more useful to know why it is profitable. At the minimum it will be useful to differentiate between a callee that is so small that it will get inlined at any callsite vs a callee that is profitable to inline at this callsite due to instruction simplification.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><b><u></u><u></u></b></p>
<p class="MsoNormal"><br></p></div></div></blockquote></div>Thanks,</div></div><div class="gmail_extra">Easwaran</div><div class="gmail_extra"><br></div></div>