[www] r296530 - Add LLD "Improve Code Layout" projects to the list of Open Projects

Mehdi Amini via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 28 18:30:28 PST 2017


Nice catch!  r296566

— 
Mehdi

> On Feb 28, 2017, at 6:18 PM, Sean Silva <chisophugis at gmail.com> wrote:
> 
> Thanks for adding this, one comment inline:
> 
> On Tue, Feb 28, 2017 at 2:29 PM, Mehdi Amini via llvm-commits <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>> wrote:
> Author: mehdi_amini
> Date: Tue Feb 28 16:29:43 2017
> New Revision: 296530
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=296530&view=rev <http://llvm.org/viewvc/llvm-project?rev=296530&view=rev>
> Log:
> Add LLD "Improve Code Layout" projects to the list of Open Projects
> 
> Modified:
>     www/trunk/OpenProjects.html
> 
> Modified: www/trunk/OpenProjects.html
> URL: http://llvm.org/viewvc/llvm-project/www/trunk/OpenProjects.html?rev=296530&r1=296529&r2=296530&view=diff <http://llvm.org/viewvc/llvm-project/www/trunk/OpenProjects.html?rev=296530&r1=296529&r2=296530&view=diff>
> ==============================================================================
> --- www/trunk/OpenProjects.html (original)
> +++ www/trunk/OpenProjects.html Tue Feb 28 16:29:43 2017
> @@ -42,6 +42,11 @@
>            LLDB public API</a>
>        </li>
>      </ul>
> +    <ul><a href="http://lldb.llvm.org/ <http://lldb.llvm.org/>">LLD</a>
> 
> s/lldb/lld/ :)
> 
> -- Sean Silva
>  
> +      <li><a href="#lld_layout">Improve Code Layout</a>
> +      </li>
> +    </ul>
> +
>    </li>
>    <li><a href="#what">What is this?</a></li>
>    <li><a href="#subprojects">LLVM Subprojects: Clang and more</a></li>
> @@ -436,6 +441,57 @@ Welcome prospective Google Summer of Cod
>  </div>
> 
>  <!-- *********************************************************************** -->
> +<div class="www_subsection">
> +  <a>LLD</a>
> +</div>
> +<!-- *********************************************************************** -->
> +
> +<!-- *********************************************************************** -->
> +<div class="www_subsubsection">
> +  <a name="lld_layout">Improve Code Layout</a>
> +</div>
> +<!-- *********************************************************************** -->
> +
> +<div class="www_text">
> +  <p><b>Description of the project: </b>
> +       The goal for the project is trying to improve the layout/performances of the
> +       generated executable. The primary object format considered for the project
> +       is ELF but this can be extended to other object formats. The project will
> +       touch both LLVM and lld.
> +       <ul>
> +               <li>Warm-up: lld already provides an option to (--symbol-ordering file)
> +                       which takes a symbol ordering file (presumably collected from a
> +                       profiler) and builds a layout. This aims to reduce startup times. It
> +                       would be nice to provide scripts to profile the applications/process
> +                       various profilers output to produce an order file/evaluate the
> +                       impact of the feature (as it has been tested only on a small class
> +                       of applications). There's already some work in the area but nothing
> +                       has been integrated in the LLVM build system for ELF. Ideally a
> +                       motivated student would do the benchmarking/analysis before the GSoC
> +                       starts to familiarize with the problem.</li>
> +               <li>The meat: Use/extend profile informations generated by LLVM to help
> +                       the linker laying out functions. An obvious way (what gcc uses, [1])
> +                       is to pass values to the linker using special `.note` sections. The
> +                       linker then can reconstruct the call graph and apply an algorithm
> +                       like the one described in [2] (this is just a starting point, other
> +                       alternatives can be explored).</li>
> +       </ul>
> +  </p>
> +  <p>
> +       Possible extension: Xray can be used to provide data (it's unclear whether
> +       this is feasible easily, see David's comment in [3]).
> +  </p>
> +  <p><b>Contact Person:</b>Davide Italiano</p>
> +
> +  <ul>
> +    <li>[1] http://sourceware.org/ml/binutils/2011-03/msg00043.html <http://sourceware.org/ml/binutils/2011-03/msg00043.html></li>
> +    <li>[2] http://dl.acm.org/citation.cfm?id=93550 <http://dl.acm.org/citation.cfm?id=93550></li>
> +    <li>[3] http://lists.llvm.org/pipermail/llvm-dev/2017-January/109114.html <http://lists.llvm.org/pipermail/llvm-dev/2017-January/109114.html></li>
> +  </ul>
> +</div>
> +
> +
> +<!-- *********************************************************************** -->
>  <div class="www_sectiontitle">
>    <a name="what">What is this?</a>
>  </div>
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170228/ab87f1f3/attachment.html>


More information about the llvm-commits mailing list