From a625435d3ef4c7bbfceb44498b9b5a2cbbed838b Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Thu, 22 Aug 2024 08:52:01 -0700 Subject: [PATCH] [Vectorize] Fix warnings This patch fixes warnings of the form: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:9300:23: error: loop variable '[E, Idx]' creates a copy from type 'const value_type' (aka 'const std::pair') [-Werror,-Wrange-loop-construct] --- llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index afaef6f9da9872..e8ab6839d9fa87 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -9297,7 +9297,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis { for (unsigned Idx = 0, Sz = CommonMask.size(); Idx < Sz; ++Idx) if (CommonMask[Idx] != PoisonMaskElem) CommonMask[Idx] = Idx; - for (const auto [E, Idx] : SubVectors) { + for (const auto &[E, Idx] : SubVectors) { Cost += ::getShuffleCost( TTI, TTI::SK_InsertSubvector, FixedVectorType::get(ScalarTy, CommonMask.size()), std::nullopt, @@ -12455,7 +12455,7 @@ class BoUpSLP::ShuffleInstructionBuilder final : public BaseShuffleAnalysis { for (unsigned Idx = 0, Sz = CommonMask.size(); Idx < Sz; ++Idx) if (CommonMask[Idx] != PoisonMaskElem) CommonMask[Idx] = Idx; - for (const auto [E, Idx] : SubVectors) { + for (const auto &[E, Idx] : SubVectors) { Vec = Builder.CreateInsertVector( Vec->getType(), Vec, E->VectorizedValue, Builder.getInt64(Idx)); if (!CommonMask.empty()) { @@ -12636,7 +12636,7 @@ ResTy BoUpSLP::processBuildVector(const TreeEntry *E, Type *ScalarTy, E->ReuseShuffleIndices.end()); SmallVector GatheredScalars(E->Scalars.begin(), E->Scalars.end()); // Clear values, to be replaced by insertvector instructions. - for (const auto [EIdx, Idx] : E->CombinedEntriesWithIndices) + for (const auto &[EIdx, Idx] : E->CombinedEntriesWithIndices) for_each(MutableArrayRef(GatheredScalars) .slice(Idx, VectorizableTree[EIdx]->getVectorFactor()), [&](Value *&V) { V = PoisonValue::get(V->getType()); }); @@ -13073,7 +13073,7 @@ ResTy BoUpSLP::processBuildVector(const TreeEntry *E, Type *ScalarTy, } Value *BoUpSLP::createBuildVector(const TreeEntry *E, Type *ScalarTy) { - for (const auto [EIdx, _] : E->CombinedEntriesWithIndices) + for (const auto &[EIdx, _] : E->CombinedEntriesWithIndices) (void)vectorizeTree(VectorizableTree[EIdx].get(), /*PostponedPHIs=*/false); return processBuildVector(E, ScalarTy, Builder, *this);