[LLVMdev] LLD: Simplify LayoutPass

Rui Ueyama ruiu at google.com
Thu Jan 22 22:59:26 PST 2015


I'll start writing a patch. I'll probably only modify LayoutPass.cpp and
try to make it faster without affecting existing features.

On Wed, Jan 21, 2015 at 8:07 PM, Rui Ueyama <ruiu at google.com> wrote:

> In r226336 I shove off 1.2 seconds out of 9.8 seconds for lld to link lld.
> That's done by parallelizing archive member parsing. But I realized that
> was not the slowest pass.
>
> The single slowest pass in LLD is LayoutPass. Only sort() at the last of
> Layoutpass::perform takes about 3 seconds (one third of total execution
> time). It is because the comparison function passed to sort, compareAtoms,
> does too much stuff.
>
> It looks to me that the entire pass is overkill. We don't really need that
> complexity there. I think nobody is actually depends on the details of the
> pass's behavior.
>
> I'd like to simplify LayoutPass, so that the pass sorts atoms only by file
> position and position in file (that means atoms are sorted in the same
> order as the command line.) I believe that should be enough and we can
> still keep output the same.
>
> Any comments?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150122/2d78f83c/attachment.html>


More information about the llvm-dev mailing list