[LLVMdev] LLD: Simplify LayoutPass

Rui Ueyama ruiu at google.com
Thu Jan 22 10:00:04 PST 2015


No, I'm not proposing to kill the layout references because components
other than LayoutPass are using them.

On Thu, Jan 22, 2015 at 7:12 AM, Shankar Easwaran <shankare at codeaurora.org>
wrote:

>  Does this mean you are going to kill the Layout specific references ?
>
> The kindLayoutAfter, kindInGroup references are used to layout atoms by
> both Mach-O (atom order file) and ELF.
>
> Shankar Easwaran
>
>
> On 1/21/2015 10:07 PM, Rui Ueyama 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?
>
>
>
>
> _______________________________________________
> LLVM Developers mailing listLLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.eduhttp://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150122/eb6df7c5/attachment.html>


More information about the llvm-dev mailing list