<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 16, 2017 at 1:25 PM, Davide Italiano <span dir="ltr"><<a href="mailto:davide@freebsd.org" target="_blank">davide@freebsd.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On Mon, Jan 16, 2017 at 12:31 PM, Sean Silva via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
> Do we have any open projects on LLD?<br>
><br>
> I know we usually try to avoid any big "projects" and mainly add/fix things<br>
> in response to user needs, but just wondering if somebody has any ideas.<br>
><br>
<br>
</span>I'm not particularly active in lld anymore, but the last big item I'd<br>
like to see implemented is Pettis-Hansen layout.<br>
<a href="http://perso.ensta-paristech.fr/~bmonsuez/Cours/B6-4/Articles/papers15.pdf" rel="noreferrer" target="_blank">http://perso.ensta-paristech.<wbr>fr/~bmonsuez/Cours/B6-4/<wbr>Articles/papers15.pdf</a><br>
(mainly because it improves performances of the final executable).<br>
GCC/gold have an implementation of the algorithm that can be used as<br>
base. I'll expand if anybody is interested.<br>
Side note: I'd like to propose a couple of llvm projects as well, I'll<br>
sit down later today and write them.<br></blockquote><div><br></div><div><br></div><div>For FullLTO it is conceptually pretty easy to get profile data we need for this, but I'm not sure about the ThinLTO case.</div><div><br></div><div>Teresa, Mehdi,</div><div><br></div><div>Are there any plans (or things already working!) for getting profile data from ThinLTO in a format that the linker can use for code layout? I assume that profile data is being used already to guide importing, so it may just be a matter of siphoning that off.</div><div><br></div><div>Or maybe that layout code should be inside LLVM; maybe part of the general LTO interface? It looks like the current gcc plugin calls back into gcc for the actual layout algorithm itself (function call find_pettis_hansen_function_layout) rather than the reordering logic living in the linker: <a href="https://android.googlesource.com/toolchain/gcc/+/3f73d6ef90458b45bbbb33ef4c2b174d4662a22d/gcc-4.6/function_reordering_plugin/function_reordering_plugin.c">https://android.googlesource.com/toolchain/gcc/+/3f73d6ef90458b45bbbb33ef4c2b174d4662a22d/gcc-4.6/function_reordering_plugin/function_reordering_plugin.c</a></div><div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
--<br>
Davide<br>
<br>
"There are no solved problems; there are only problems that are more<br>
or less solved" -- Henri Poincare<br>
</blockquote></div><br></div></div>