[LLVMdev] LLD COFF status

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Jun 24 15:37:25 PDT 2015


Congratulations!

Can we delete the old coff linker? :-)
On Jun 24, 2015 4:04 PM, "Rui Ueyama" <ruiu at google.com> wrote:

> I've been working on the new LLD COFF linker for 1.5 months so far
> (including history of my personal repository), and I feel like I should
> post an update on that matter as a followup to the previous discussion
> thread.
>
> In short, it's doing very well.
>
> Completeness
> It was able to link itself from the first day when the first patch was
> landed. Since then, I fixed bugs and added more features. It's now able to
> link everything for check{,-lld,-clang}, and all tests pass.
>
> Speed
> It's generally 2x faster than MSVC linker. It's 10x faster than the old
> LLD when linking itself. It may be the fastest COFF linker. It's
> single-threaded. I have a plan to make it even faster by using multiple
> threads.
>
> Simplicity
> It consists of only 5000 lines of code including comments and blank lines.
> IMHO the code is simple and easy to read. (This is of course not a
> third-party opinion, so you are welcomed to read the code. You can skip
> Windows-specific code to get a whole picture.)
>
> Advanced features
> It supported dead-stripping from day one. I added preliminary ICF
> (Identical COMDAT Folding) support yesterday. Implementing that was
> basically just a one day task. Peter Collingbourne (pcc) added an
> experimental LTO support to the linker. The code for LTO seems to naturally
> fit to the other pieces of code.
>
> Flexibility
> When I first set the architecture, I was worried that I have made the
> design too simple, so it could hit a wall at some point as I wrote more
> code on top of that which prevented us from doing anything beyond that. I'm
> not too worried about that now -- it looks like my design was a right
> choice. It's way easier to implement new ideas than before. LTO and ICF are
> probably good examples.
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150624/46f959cd/attachment.html>


More information about the llvm-dev mailing list