[PATCH] D54802: [LLD][COFF] Generate import modules in PDB
Alexandre Ganea via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 28 16:32:34 PST 2018
aganea marked an inline comment as done.
aganea added a comment.
In D54802#1311943 <https://reviews.llvm.org/D54802#1311943>, @rnk wrote:
> I think the challenge there is it requires a good concurrent hash map implementation, which we'd have to find or implement ourselves.
I can provide that, we have a good lockless, insert-only, DenseHash implemention that we have been using for many years.
Although the issue at stake here is the high memory bandwith, due to the large volume of data to process in a tight loop. Like you are pointing out, GHash uses a smaller key size (8 bytes) which packs more entries per cache line (instead of the {hash, ArrayRef<U8>} key (24 bytes) when GHash isn’t used). I’m not entierely sure multithreading will help a lot, but we can give it a try. Packing more tightly the data in the DenseHash, and avoiding indirections at all cost would probably benefit more in the short term.
================
Comment at: lld/trunk/COFF/PDB.cpp:1533
+ SmallString<128> LibPath = File->ParentName;
+ sys::fs::make_absolute(LibPath);
+ sys::path::native(LibPath);
----------------
thakis wrote:
> This regresses PDBs being independent of the build directory, cf r344061
Thanks for pointing out!
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D54802/new/
https://reviews.llvm.org/D54802
More information about the llvm-commits
mailing list