Author: Vitaly Buka Date: 2025-03-07T17:45:57-08:00 New Revision: a7c76aa6112e36a74d91dcd8b08cb114a6727556
URL: https://github.com/llvm/llvm-project/commit/a7c76aa6112e36a74d91dcd8b08cb114a6727556 DIFF: https://github.com/llvm/llvm-project/commit/a7c76aa6112e36a74d91dcd8b08cb114a6727556.diff LOG: Revert "Reland [EquivClasses] Introduce members iterator-helper (#130319)" This reverts commit 21d973dbb335547848b77c01b106734942893693. Added: Modified: llvm/include/llvm/ADT/EquivalenceClasses.h llvm/lib/Analysis/LoopAccessAnalysis.cpp llvm/lib/Analysis/VectorUtils.cpp llvm/unittests/ADT/EquivalenceClassesTest.cpp Removed: ################################################################################ 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 <cassert> #include <cstddef> #include <cstdint> @@ -179,9 +178,6 @@ class EquivalenceClasses { member_iterator member_end() const { return member_iterator(nullptr); } - iterator_range<member_iterator> 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<BasicBlock *> 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<BasicBlock *> 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<PHINode>(M) && MinBW < M->getType()->getScalarSizeInBits()) { Abort = true; break; @@ -865,7 +865,7 @@ llvm::computeMinimumValueSizes(ArrayRef<BasicBlock *> 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<Instruction>(M); if (!MI) continue; diff --git a/llvm/unittests/ADT/EquivalenceClassesTest.cpp b/llvm/unittests/ADT/EquivalenceClassesTest.cpp index c24c09d8a2815..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<int> EC; - EC.unionSets(1, 2); - EC.insert(4); - EC.insert(5); - EC.unionSets(5, 1); - EXPECT_EQ(EC.getNumClasses(), 2u); - - EquivalenceClasses<int>::iterator I = EC.findValue(EC.getLeaderValue(1)); - EXPECT_THAT(EC.members(I), testing::ElementsAre(5, 1, 2)); - EXPECT_EQ(EC.members(EC.end()).begin(), EC.member_end()); -} - // Type-parameterized tests: Run the same test cases with diff erent element // types. template <typename T> class ParameterizedTest : public testing::Test {}; _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits