<html><body><p><font size="2">Hi Teresa,</font><br><br><font size="2">Actually, enabling the new pass manager manually seems to have solved this issue, so this problem is only valid for the old pass manager.</font><br><br><font size="2">Thanks,</font><br><br><font size="2">Graham Yiu<br>LLVM Compiler Development<br>IBM Toronto Software Lab<br>Office: (905) 413-4077      C2-707/8200/Markham<br>Email: gyiu@ca.ibm.com</font><br><br><img width="16" height="16" src="cid:1__=8FBB0B3DDFE2A6378f9e8a93df938690918c8FB@" border="0" alt="Inactive hide details for Teresa Johnson ---10/03/2017 04:18:17 PM---On Tue, Oct 3, 2017 at 12:54 PM, Graham Yiu via llvm-dev <"><font size="2" color="#424282">Teresa Johnson ---10/03/2017 04:18:17 PM---On Tue, Oct 3, 2017 at 12:54 PM, Graham Yiu via llvm-dev < llvm-dev@lists.llvm.org> wrote:</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">Teresa Johnson <tejohnson@google.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">Graham Yiu <gyiu@ca.ibm.com></font><br><font size="2" color="#5F5F5F">Cc:        </font><font size="2">llvm-dev <llvm-dev@lists.llvm.org></font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">10/03/2017 04:18 PM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">Re: [llvm-dev] PGO information at LTO/thinLTO link step</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><br><br>On Tue, Oct 3, 2017 at 12:54 PM, Graham Yiu via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank"><u><font color="#0000FF">llvm-dev@lists.llvm.org</font></u></a>> wrote:
<ul><font size="2">Hello,</font><br><font size="2"><br>My team and I noticed that callsite hotness information is not preserved from compile to link step with LTO/thinLTO enabled. As a result, the link step inlining pass remains conservative when inlining callsites known to be hot (ie. without the 'HotCallSiteThreshold' which is set at 3000 by default). There are likely many cross-module inlining opportunities lost this way, and diminishes the benefit of using LTO/thinLTO+PGO together.</font></ul><br><br>The callsite hotness is passed via the IR, so it should be there in the LTO/ThinLTO backends (during the link step). Can you provide a reproducer where that isn't happening? <br>Teresa
<ul><br><font size="2"><br>In general, does LLVM pass profiling information through the IR to the link step other than branch probabilities and function entry counts? If not, are there plans to do so in the future? For inlining specifically, perhaps we can mark callsites with hot/cold attributes during compile step to ensure LTO inlining will give appropriate threshold bonuses/penalties.</font><br><font size="2"><br>Any thoughts/insights/comments would be appreciated.</font><br><font size="2"><br>Cheers,</font><br><font size="2"><br>Graham Yiu<br>LLVM Compiler Development<br>IBM Toronto Software Lab<br>Office: </font><a href="tel:(905)%20413-4077" target="_blank"><u><font size="2" color="#0000FF">(905) 413-4077</font></u></a><font size="2"> C2-707/8200/Markham<br>Email: </font><a href="mailto:gyiu@ca.ibm.com" target="_blank"><u><font size="2" color="#0000FF">gyiu@ca.ibm.com</font></u></a><br><br>_______________________________________________<br>LLVM Developers mailing list<u><font color="#0000FF"><br></font></u><a href="mailto:llvm-dev@lists.llvm.org"><u><font color="#0000FF">llvm-dev@lists.llvm.org</font></u></a><u><font color="#0000FF"><br></font></u><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Ddev&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=4ST7e3kMd0GTi3w9ByK5Cw&m=843dScatsnrNnnksXYIg_bhjifer5nLwDpeZvFGhfsY&s=ophNPzRTV6yMQdp3RxwwiV4szFjf6F8lnEyy9Y5paxw&e=" target="_blank"><u><font color="#0000FF">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</font></u></a><br></ul><br><br><br>-- 
<table border="1"><tr valign="top"><td width="90" valign="middle"><font size="2" color="#555555">Teresa Johnson |</font></td><td width="105" valign="middle"><font size="2" color="#555555"> Software Engineer |</font></td><td width="136" valign="middle"><font size="2" color="#555555"> </font><a href="mailto:tejohnson@google.com" target="_blank"><u><font size="2" color="#0000FF">tejohnson@google.com</font></u></a><font size="2" color="#555555"> |</font></td><td width="71" valign="middle"><font size="2" color="#555555"> 408-460-2413</font></td></tr></table><br><br><BR>
</body></html>