From 9e07565f87af525291bf20d8921b9b05c4dc551c Mon Sep 17 00:00:00 2001 From: Ramkumar Ramachandra Date: Fri, 7 Mar 2025 17:35:11 +0000 Subject: [PATCH] Revert "[EquivClasses] Introduce members iterator-helper (#130139)" This reverts commit 259624bf6d, as it causes a build failure. --- llvm/include/llvm/ADT/EquivalenceClasses.h | 4 ---- llvm/lib/Analysis/LoopAccessAnalysis.cpp | 5 +++-- llvm/lib/Analysis/VectorUtils.cpp | 6 +++--- llvm/unittests/ADT/EquivalenceClassesTest.cpp | 14 -------------- 4 files changed, 6 insertions(+), 23 deletions(-) diff --git a/llvm/include/llvm/ADT/EquivalenceClasses.h b/llvm/include/llvm/ADT/EquivalenceClasses.h index 345107c7777b0..4f98b84cf97d2 100644 --- a/llvm/include/llvm/ADT/EquivalenceClasses.h +++ b/llvm/include/llvm/ADT/EquivalenceClasses.h @@ -15,7 +15,6 @@ #ifndef LLVM_ADT_EQUIVALENCECLASSES_H #define LLVM_ADT_EQUIVALENCECLASSES_H -#include "llvm/ADT/iterator_range.h" #include #include #include @@ -179,9 +178,6 @@ class EquivalenceClasses { member_iterator member_end() const { return member_iterator(nullptr); } - iterator_range members(iterator I) const { - return make_range(member_begin(I), member_end()); - } /// findValue - Return an iterator to the specified value. If it does not /// exist, end() is returned. diff --git a/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/llvm/lib/Analysis/LoopAccessAnalysis.cpp index 207f5417934e5..38ee82b77a946 100644 --- a/llvm/lib/Analysis/LoopAccessAnalysis.cpp +++ b/llvm/lib/Analysis/LoopAccessAnalysis.cpp @@ -527,8 +527,9 @@ void RuntimePointerChecking::groupChecks( // iteration order within an equivalence class member is only dependent on // the order in which unions and insertions are performed on the // equivalence class, the iteration order is deterministic. - for (const auto &MI : DepCands.members(LeaderI)) { - auto PointerI = PositionMap.find(MI.getPointer()); + for (auto MI = DepCands.member_begin(LeaderI), ME = DepCands.member_end(); + MI != ME; ++MI) { + auto PointerI = PositionMap.find(MI->getPointer()); assert(PointerI != PositionMap.end() && "pointer in equivalence class not found in PositionMap"); for (unsigned Pointer : PointerI->second) { diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp index c0bc451973c6e..91ba68fe03324 100644 --- a/llvm/lib/Analysis/VectorUtils.cpp +++ b/llvm/lib/Analysis/VectorUtils.cpp @@ -845,7 +845,7 @@ llvm::computeMinimumValueSizes(ArrayRef Blocks, DemandedBits &DB, for (auto I = ECs.begin(), E = ECs.end(); I != E; ++I) { uint64_t LeaderDemandedBits = 0; - for (Value *M : ECs.members(I)) + for (Value *M : llvm::make_range(ECs.member_begin(I), ECs.member_end())) LeaderDemandedBits |= DBits[M]; uint64_t MinBW = llvm::bit_width(LeaderDemandedBits); @@ -857,7 +857,7 @@ llvm::computeMinimumValueSizes(ArrayRef Blocks, DemandedBits &DB, // indvars. // If we are required to shrink a PHI, abandon this entire equivalence class. bool Abort = false; - for (Value *M : ECs.members(I)) + for (Value *M : llvm::make_range(ECs.member_begin(I), ECs.member_end())) if (isa(M) && MinBW < M->getType()->getScalarSizeInBits()) { Abort = true; break; @@ -865,7 +865,7 @@ llvm::computeMinimumValueSizes(ArrayRef Blocks, DemandedBits &DB, if (Abort) continue; - for (Value *M : ECs.members(I)) { + for (Value *M : llvm::make_range(ECs.member_begin(I), ECs.member_end())) { auto *MI = dyn_cast(M); if (!MI) continue; diff --git a/llvm/unittests/ADT/EquivalenceClassesTest.cpp b/llvm/unittests/ADT/EquivalenceClassesTest.cpp index 9e1286b760789..70e161a03d988 100644 --- a/llvm/unittests/ADT/EquivalenceClassesTest.cpp +++ b/llvm/unittests/ADT/EquivalenceClassesTest.cpp @@ -7,7 +7,6 @@ //===----------------------------------------------------------------------===// #include "llvm/ADT/EquivalenceClasses.h" -#include "gmock/gmock.h" #include "gtest/gtest.h" using namespace llvm; @@ -67,19 +66,6 @@ TEST(EquivalenceClassesTest, TwoSets) { EXPECT_FALSE(EqClasses.isEquivalent(i, j)); } -TEST(EquivalenceClassesTest, MembersIterator) { - EquivalenceClasses EC; - EC.unionSets(1, 2); - EC.insert(4); - EC.insert(5); - EC.unionSets(5, 1); - EXPECT_EQ(EC.getNumClasses(), 2u); - - EquivalenceClasses::iterator I = EC.findValue(EC.getLeaderValue(1)); - EXPECT_THAT(EC.members(I), testing::ElementsAre(1, 2, 5)); - EXPECT_THAT(EC.members(EC.end()), testing::IsEmpty()); -} - // Type-parameterized tests: Run the same test cases with different element // types. template class ParameterizedTest : public testing::Test {};