[CodeView] Replace GHASH hasher by BLAKE3
authorAlexandre Ganea <alex_toresh@yahoo.fr>
Sat, 19 Nov 2022 17:34:58 +0000 (12:34 -0500)
committerAlexandre Ganea <alex_toresh@yahoo.fr>
Sat, 19 Nov 2022 20:17:42 +0000 (15:17 -0500)
commit49e483d3d62f6f62beb323e9c4160bab9e0ad619
tree37a668acb53452addf466aba3a87a03afe9499c8
parentb0fb71613b680b569a665fd1155da8fed0389c7b
[CodeView] Replace GHASH hasher by BLAKE3

Previously, we used SHA-1 for hashing the CodeView type records.
SHA-1 in `GloballyHashedType::hashType()` is coming top in the profiles. By simply replacing with BLAKE3, the link time is reduced in our case from 15 sec to 13 sec. I am only using MSVC .OBJs in this case. As a reference, the resulting .PDB is approx 2.1GiB and .EXE is approx 250MiB.

Differential Revision: https://reviews.llvm.org/D137101
clang/docs/ReleaseNotes.rst
lld/COFF/DebugTypes.cpp
lld/docs/ReleaseNotes.rst
llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
llvm/test/DebugInfo/COFF/global-type-hashes.ll
llvm/test/DebugInfo/PDB/obj-globalhash.test