[all-commits] [llvm/llvm-project] e7dd59: [BOLT] Use deterministic xxh3 for computing BF/BB ...

spupyrev via All-commits all-commits at lists.llvm.org
Mon Nov 27 14:46:00 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e7dd596c68c4c292494ffabb1c89a63c84af8115
      https://github.com/llvm/llvm-project/commit/e7dd596c68c4c292494ffabb1c89a63c84af8115
  Author: spupyrev <spupyrev at users.noreply.github.com>
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/test/X86/Inputs/blarge_profile_stale.yaml
    M bolt/test/X86/pre-aggregated-perf.test
    M bolt/test/X86/reader-stale-yaml.test

  Log Message:
  -----------
  [BOLT] Use deterministic xxh3 for computing BF/BB hashes (#72542)

std::hash and ADT/Hashing::hash_value are non-deterministic functions
whose
results might vary across implementation/process/execution. Using xxh3
instead
for computing hashes of BinaryFunctions and BinaryBasicBlock for stale
profile
matching.
(A possible alternative is to use ADT/StableHashing.h based on FNV
hashing but
xxh3 seems to be more popular in LLVM)

This is to address https://github.com/llvm/llvm-project/issues/65241.




More information about the All-commits mailing list