[llvm] 0e124b9 - [ADT] Use "if constexpr" with shouldReverseIterate (#161477)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 1 08:59:26 PDT 2025
Author: Kazu Hirata
Date: 2025-10-01T08:59:23-07:00
New Revision: 0e124b9586b862e749a3c9ee8b43cf18ad9c2812
URL: https://github.com/llvm/llvm-project/commit/0e124b9586b862e749a3c9ee8b43cf18ad9c2812
DIFF: https://github.com/llvm/llvm-project/commit/0e124b9586b862e749a3c9ee8b43cf18ad9c2812.diff
LOG: [ADT] Use "if constexpr" with shouldReverseIterate (#161477)
This patch uses "if constexpr" whenever we call shouldReverseIterate
in "if" conditions. Note that shouldReverseIterate is a constexpr
function.
Added:
Modified:
llvm/include/llvm/ADT/SmallPtrSet.h
llvm/lib/Support/StringMap.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/ADT/SmallPtrSet.h b/llvm/include/llvm/ADT/SmallPtrSet.h
index e24cd6415b687..f588a77a53b2a 100644
--- a/llvm/include/llvm/ADT/SmallPtrSet.h
+++ b/llvm/include/llvm/ADT/SmallPtrSet.h
@@ -476,18 +476,20 @@ template <typename PtrType> class SmallPtrSetImpl : public SmallPtrSetImplBase {
}
[[nodiscard]] iterator begin() const {
- if (shouldReverseIterate())
+ if constexpr (shouldReverseIterate())
return makeIterator(EndPointer() - 1);
- return makeIterator(CurArray);
+ else
+ return makeIterator(CurArray);
}
[[nodiscard]] iterator end() const { return makeIterator(EndPointer()); }
private:
/// Create an iterator that dereferences to same place as the given pointer.
iterator makeIterator(const void *const *P) const {
- if (shouldReverseIterate())
+ if constexpr (shouldReverseIterate())
return iterator(P == EndPointer() ? CurArray : P + 1, CurArray, *this);
- return iterator(P, EndPointer(), *this);
+ else
+ return iterator(P, EndPointer(), *this);
}
};
diff --git a/llvm/lib/Support/StringMap.cpp b/llvm/lib/Support/StringMap.cpp
index 3432dc15ceef2..4aee30cd484e0 100644
--- a/llvm/lib/Support/StringMap.cpp
+++ b/llvm/lib/Support/StringMap.cpp
@@ -83,7 +83,7 @@ unsigned StringMapImpl::LookupBucketFor(StringRef Name,
// Hash table unallocated so far?
if (NumBuckets == 0)
init(16);
- if (shouldReverseIterate())
+ if constexpr (shouldReverseIterate())
FullHashValue = ~FullHashValue;
unsigned BucketNo = FullHashValue & (NumBuckets - 1);
unsigned *HashTable = getHashTable(TheTable, NumBuckets);
@@ -142,7 +142,7 @@ int StringMapImpl::FindKey(StringRef Key, uint32_t FullHashValue) const {
#ifdef EXPENSIVE_CHECKS
assert(FullHashValue == hash(Key));
#endif
- if (shouldReverseIterate())
+ if constexpr (shouldReverseIterate())
FullHashValue = ~FullHashValue;
unsigned BucketNo = FullHashValue & (NumBuckets - 1);
unsigned *HashTable = getHashTable(TheTable, NumBuckets);
More information about the llvm-commits
mailing list