[all-commits] [llvm/llvm-project] 49e483: [CodeView] Replace GHASH hasher by BLAKE3

Alexandre Ganea via All-commits all-commits at lists.llvm.org
Sat Nov 19 12:17:58 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 49e483d3d62f6f62beb323e9c4160bab9e0ad619
      https://github.com/llvm/llvm-project/commit/49e483d3d62f6f62beb323e9c4160bab9e0ad619
  Author: Alexandre Ganea <alex_toresh at yahoo.fr>
  Date:   2022-11-19 (Sat, 19 Nov 2022)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M lld/COFF/DebugTypes.cpp
    M lld/docs/ReleaseNotes.rst
    M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    M llvm/lib/DebugInfo/CodeView/TypeHashing.cpp
    M llvm/test/DebugInfo/COFF/global-type-hashes.ll
    M llvm/test/DebugInfo/PDB/obj-globalhash.test

  Log Message:
  -----------
  [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




More information about the All-commits mailing list