[llvm] [Support] Add llvm::xxh3_128bits (PR #95863)

Brendan Duke via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 20 11:21:29 PDT 2024


dukebw wrote:

> LGTM, but we want an in-tree story about the planned filesystem feature.

> I've guided my simplification of xxh3 64-bit using `ld.lld --build-id=sha1`, which is sensitive to the hash function performance. Did you do similar performance tuning?

The filesystem feature is for MLIR pass pipeline caching that uses an internal mechanism. My understanding is that there is an effort to upstream a CAS to LLVM in #68448. That PR appears to use BLAKE3 as its hash function. I think that work could benefit from using the faster xxh3_128bit instead, for example.

I didn't do extensive performance tuning and the code is very similar to xxhash upstream, rather than `llvm::xxh3_64bits`. The major simplification I used is to use `XXH3_accumulate_512_scalar`, similarly to `llvm::xxh3_64bits`, since that saves pulling in the vectorized accumulate functions. I can profile the effect of this simplification and report back, if it's helpful.

https://github.com/llvm/llvm-project/pull/95863


More information about the llvm-commits mailing list