[llvm] RFC: [ADT] Use a storage policy in DenseMap/SmallDenseMap (NFC) (PR #168255)
Jakub Kuderski via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 16 09:56:09 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));
----------------
kuhar wrote:
nit: cast operands instead of specifying the template parameter type
https://github.com/llvm/llvm-project/pull/168255
More information about the llvm-commits
mailing list