[llvm] [ADT] Simplify DenseMap::{makeIterator,makeConstIterator} (NFC) (PR #156200)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 30 12:39:40 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-adt
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
makeIterator and makeConstIterator take a reference to DebugEpochBase,
which is the base class of DenseMapBase. Since both these functions
and their callers are in DenseMapBase, we don't really need to pass
*this.
This patch drops "&Epoch" from these two functions and adjust callers
accordingly.
---
Full diff: https://github.com/llvm/llvm-project/pull/156200.diff
1 Files Affected:
- (modified) llvm/include/llvm/ADT/DenseMap.h (+16-19)
``````````diff
diff --git a/llvm/include/llvm/ADT/DenseMap.h b/llvm/include/llvm/ADT/DenseMap.h
index 4a2da7f630663..e5c424a41d96c 100644
--- a/llvm/include/llvm/ADT/DenseMap.h
+++ b/llvm/include/llvm/ADT/DenseMap.h
@@ -81,21 +81,21 @@ class DenseMapBase : public DebugEpochBase {
if (empty())
return end();
if (shouldReverseIterate<KeyT>())
- return makeIterator(getBucketsEnd() - 1, getBuckets(), *this);
- return makeIterator(getBuckets(), getBucketsEnd(), *this);
+ return makeIterator(getBucketsEnd() - 1, getBuckets());
+ return makeIterator(getBuckets(), getBucketsEnd());
}
inline iterator end() {
- return makeIterator(getBucketsEnd(), getBucketsEnd(), *this, true);
+ return makeIterator(getBucketsEnd(), getBucketsEnd(), true);
}
inline const_iterator begin() const {
if (empty())
return end();
if (shouldReverseIterate<KeyT>())
- return makeConstIterator(getBucketsEnd() - 1, getBuckets(), *this);
- return makeConstIterator(getBuckets(), getBucketsEnd(), *this);
+ return makeConstIterator(getBucketsEnd() - 1, getBuckets());
+ return makeConstIterator(getBuckets(), getBucketsEnd());
}
inline const_iterator end() const {
- return makeConstIterator(getBucketsEnd(), getBucketsEnd(), *this, true);
+ return makeConstIterator(getBucketsEnd(), getBucketsEnd(), true);
}
// Return an iterator to iterate over keys in the map.
@@ -186,7 +186,7 @@ class DenseMapBase : public DebugEpochBase {
if (BucketT *Bucket = doFind(Val))
return makeIterator(
Bucket, shouldReverseIterate<KeyT>() ? getBuckets() : getBucketsEnd(),
- *this, true);
+ true);
return end();
}
template <class LookupKeyT>
@@ -194,7 +194,7 @@ class DenseMapBase : public DebugEpochBase {
if (const BucketT *Bucket = doFind(Val))
return makeConstIterator(
Bucket, shouldReverseIterate<KeyT>() ? getBuckets() : getBucketsEnd(),
- *this, true);
+ true);
return end();
}
@@ -485,30 +485,27 @@ class DenseMapBase : public DebugEpochBase {
return {makeInsertIterator(Bucket), Inserted};
}
- iterator makeIterator(BucketT *P, BucketT *E, DebugEpochBase &Epoch,
- bool NoAdvance = false) {
+ iterator makeIterator(BucketT *P, BucketT *E, bool NoAdvance = false) {
if (shouldReverseIterate<KeyT>()) {
BucketT *B = P == getBucketsEnd() ? getBuckets() : P + 1;
- return iterator(B, E, Epoch, NoAdvance);
+ return iterator(B, E, *this, NoAdvance);
}
- return iterator(P, E, Epoch, NoAdvance);
+ return iterator(P, E, *this, NoAdvance);
}
const_iterator makeConstIterator(const BucketT *P, const BucketT *E,
- const DebugEpochBase &Epoch,
const bool NoAdvance = false) const {
if (shouldReverseIterate<KeyT>()) {
const BucketT *B = P == getBucketsEnd() ? getBuckets() : P + 1;
- return const_iterator(B, E, Epoch, NoAdvance);
+ return const_iterator(B, E, *this, NoAdvance);
}
- return const_iterator(P, E, Epoch, NoAdvance);
+ return const_iterator(P, E, *this, NoAdvance);
}
iterator makeInsertIterator(BucketT *TheBucket) {
- return makeIterator(TheBucket,
- shouldReverseIterate<KeyT>() ? getBuckets()
- : getBucketsEnd(),
- *this, true);
+ return makeIterator(
+ TheBucket,
+ shouldReverseIterate<KeyT>() ? getBuckets() : getBucketsEnd(), true);
}
unsigned getNumEntries() const {
``````````
</details>
https://github.com/llvm/llvm-project/pull/156200
More information about the llvm-commits
mailing list