[PATCH] D59025: Add --add-ghashes to llvm-objcopy to append a .debug$H to coff objects

Leonardo Santagada via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 18 12:47:38 PDT 2019


Are there plans on saving the hashes to some form of database? If not
I don't see how it could ever compare in performance as this can be
done per file (so its completely parallel) and can be done offline for
libraries being used.

For us even with the pre-computed hashes it still takes 20 seconds to
link which in comparison to incremental link.exe performance is not
great (it varies but can link in 4-8 seconds for small changes).

I think by sharding of the pdb generation we can get it to be closer
to 8 seconds always, but not if we would still need to compute the
hashes for the types.

On Mon, Mar 18, 2019 at 8:40 PM Zachary Turner <zturner at google.com> wrote:
>
> With recent work focusing on computing ghashes in parallel in the linker, which would ultimately eliminate the need to write them to the object file entirely, does this still have the same value?
> On Mon, Mar 18, 2019 at 12:32 PM Alexandre Ganea via Phabricator <reviews at reviews.llvm.org> wrote:
>>
>> aganea added a comment.
>>
>> In D59025#1433050 <https://reviews.llvm.org/D59025#1433050>, @jhenderson wrote:
>>
>> > 2. There's a real-world use-case (which could be as simple as significantly simplifying our own testing or whatever).
>>
>>
>> There's a strong industrial use-case here, which is to use MSVC for compilation and LLD for linking.
>> MSVC currently doesn't support (yet?) `.debug$H` streams, and this patch provides a workaround. This inherently makes linking with LLD faster, by allowing compilation with MSVC + `.debug$H` computation on remote PCs (when using distributed compilation).
>> Without this patch, `.debug$H` computation is done locally by LLD, which significantly increases link time.
>>
>> In D59025#1428431 <https://reviews.llvm.org/D59025#1428431>, @rupprecht wrote:
>>
>> > I've never heard of ghashes
>>
>>
>> Worth the read: http://blog.llvm.org/2018/01/
>>
>>
>> Repository:
>>   rG LLVM Github Monorepo
>>
>> CHANGES SINCE LAST ACTION
>>   https://reviews.llvm.org/D59025/new/
>>
>> https://reviews.llvm.org/D59025
>>
>>
>>


-- 

Leonardo Santagada


More information about the llvm-commits mailing list