[llvm] RFC: [ADT] Use a storage policy in DenseMap/SmallDenseMap (NFC) (PR #168255)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 16 16:28:53 PST 2025


================
@@ -839,24 +815,24 @@ class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
     NumBuckets = 0;
   }
 
-  void grow(unsigned AtLeast) {
-    unsigned OldNumBuckets = NumBuckets;
-    BucketT *OldBuckets = Buckets;
-
-    allocateBuckets(std::max<unsigned>(
-        64, static_cast<unsigned>(NextPowerOf2(AtLeast - 1))));
-    assert(Buckets);
-    if (!OldBuckets) {
-      this->BaseT::initEmpty();
-      return;
-    }
+  static unsigned computeNumBuckets(unsigned NumBuckets) {
+    return std::max<unsigned>(64, NextPowerOf2(NumBuckets - 1));
----------------
kazutakahirata wrote:

Fixed in this draft PR also.

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


More information about the llvm-commits mailing list