[llvm] [ADT] Refactor DenseMapIterator::operator-> (NFC) (PR #157227)

via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 5 22:43:55 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-adt

Author: Kazu Hirata (kazutakahirata)

<details>
<summary>Changes</summary>

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
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) {

``````````

</details>


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


More information about the llvm-commits mailing list