[llvm-branch-commits] [clang] [AllocToken, Clang] Implement TypeHashPointerSplit mode (PR #156840)
Vitaly Buka via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Sep 22 10:19:03 PDT 2025
================
@@ -183,12 +201,20 @@ class TypeHashMode : public ModeBase {
using ModeBase::ModeBase;
uint64_t operator()(const CallBase &CB, OptimizationRemarkEmitter &ORE) {
+ const auto [N, H] = getHash(CB, ORE);
+ return N ? boundedToken(H) : H;
+ }
+
+protected:
+ std::pair<MDNode *, uint64_t> getHash(const CallBase &CB,
+ OptimizationRemarkEmitter &ORE) {
if (MDNode *N = getAllocTokenMetadata(CB)) {
MDString *S = cast<MDString>(N->getOperand(0));
- return boundedToken(xxHash64(S->getString()));
+ return {N, xxHash64(S->getString())};
----------------
vitalybuka wrote:
So we need a stable hash here? I assume xxHash64 is not.
Maybe something we use in GUID?
https://github.com/llvm/llvm-project/pull/156840
More information about the llvm-branch-commits
mailing list