[LLVMdev] LLD COFF status

Rui Ueyama ruiu at google.com
Wed Jun 24 15:59:30 PDT 2015


Eventually, but not now. I need to support x86 as well as ARM. :)

On Wed, Jun 24, 2015 at 3:37 PM, Rafael EspĂ­ndola <
rafael.espindola at gmail.com> wrote:

> 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/c80b972b/attachment.html>


More information about the llvm-dev mailing list