Skip to content

Conversation

kazutakahirata
Copy link
Contributor

This patchs implement DenseMapIterator::operator-> in terms of
operator* to reduce code duplication.

This patchs implement DenseMapIterator::operator-> in terms of
operator* to reduce code duplication.
@llvmbot
Copy link
Member

llvmbot commented Sep 6, 2025

@llvm/pr-subscribers-llvm-adt

Author: Kazu Hirata (kazutakahirata)

Changes

This patchs implement DenseMapIterator::operator-> in terms of
operator* to reduce code duplication.


Full diff: https://github.com/llvm/llvm-project/pull/157227.diff

1 Files Affected:

  • (modified) llvm/include/llvm/ADT/DenseMap.h (+1-7)
diff --git a/llvm/include/llvm/ADT/DenseMap.h b/llvm/include/llvm/ADT/DenseMap.h
index 0650dc2044ca9..848e76feb20c6 100644
--- a/llvm/include/llvm/ADT/DenseMap.h
+++ b/llvm/include/llvm/ADT/DenseMap.h
@@ -1242,13 +1242,7 @@ class DenseMapIterator : DebugEpochBase::HandleBase {
       return Ptr[-1];
     return *Ptr;
   }
-  pointer operator->() const {
-    assert(isHandleInSync() && "invalid iterator access!");
-    assert(Ptr != End && "dereferencing end() iterator");
-    if (shouldReverseIterate<KeyT>())
-      return &(Ptr[-1]);
-    return Ptr;
-  }
+  pointer operator->() const { return &operator*(); }
 
   friend bool operator==(const DenseMapIterator &LHS,
                          const DenseMapIterator &RHS) {

@kazutakahirata kazutakahirata merged commit 3eacaa3 into llvm:main Sep 6, 2025
11 checks passed
@kazutakahirata kazutakahirata deleted the cleanup_20250905_ADT_DenseMapIterator_operator branch September 6, 2025 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants