From 31ceedd70ddaf3fefc47ad06b3774933e61f0f60 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Thu, 13 Nov 2025 09:00:17 -0800 Subject: [PATCH] [ADT] Fix a memory leak in SmallDenseMap Tmp.moveFrom(*this); about 10 lines above leaves *this in a zombie state with a bucket array still allocated. This patch fixes the memory leak by calling deallocateBuckets(). --- llvm/include/llvm/ADT/DenseMap.h | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm/include/llvm/ADT/DenseMap.h b/llvm/include/llvm/ADT/DenseMap.h index 9d61a91631fab..333bbcb9399ce 100644 --- a/llvm/include/llvm/ADT/DenseMap.h +++ b/llvm/include/llvm/ADT/DenseMap.h @@ -1122,6 +1122,7 @@ class SmallDenseMap Tmp.Small = false; Tmp.getLargeRep()->NumBuckets = 0; } else { + deallocateBuckets(); Small = false; NumTombstones = 0; *getLargeRep() = std::move(*Tmp.getLargeRep());