The previous algorithm used 20-byte SHA1 hashes. This new version computes the same 20-byte SHA1, but only uses the last 8 bytes as a hash.
This speeds up /DEBUG:GHASH links by ~10% in my testing while also making object files smaller.
Paths
| Differential D46855
[pdb] Change ghash section to use 8-byte ghashes instead of 20 byte ClosedPublic Authored by zturner on May 14 2018, 3:52 PM.
Details Summary The previous algorithm used 20-byte SHA1 hashes. This new version computes the same 20-byte SHA1, but only uses the last 8 bytes as a hash. This speeds up /DEBUG:GHASH links by ~10% in my testing while also making object files smaller.
Diff Detail
Event TimelineThis revision is now accepted and ready to land.May 15 2018, 10:38 AM Closed by commit rL332669: [pdb] Change /DEBUG:GHASH to emit 8 byte hashes. (authored by zturner). · Explain WhyMay 17 2018, 2:26 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 147389 lld/trunk/COFF/PDB.cpp
lld/trunk/test/COFF/Inputs/pdb-hashes-1.yaml
lld/trunk/test/COFF/Inputs/pdb-hashes-2-missing.yaml
lld/trunk/test/COFF/Inputs/pdb-hashes-2.yaml
lld/trunk/test/COFF/pdb-global-hashes.test
llvm/trunk/include/llvm/DebugInfo/CodeView/TypeHashing.h
llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
llvm/trunk/lib/DebugInfo/CodeView/TypeHashing.cpp
llvm/trunk/lib/ObjectYAML/CodeViewYAMLTypeHashing.cpp
llvm/trunk/test/DebugInfo/COFF/global-type-hashes.ll
llvm/trunk/test/DebugInfo/PDB/obj-globalhash.test
llvm/trunk/test/ObjectYAML/CodeView/sections.yaml
|