From 356a77fb7a783393e447c42ef44542a4dbcd36f3 Mon Sep 17 00:00:00 2001 From: Han-Kuan Chen Date: Thu, 21 Nov 2024 22:36:51 -0800 Subject: [PATCH] [SLP] NFC. Remove redundant computation in getReorderingData. --- llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index fb30d46cfda1b..1ef59e6c5915e 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -5622,18 +5622,12 @@ BoUpSLP::getReorderingData(const TreeEntry &TE, bool TopToBottom) { } return false; }; - SmallDenseMap PhiToId; - SmallVector Phis(TE.Scalars.size()); + OrdersType Phis(TE.Scalars.size()); std::iota(Phis.begin(), Phis.end(), 0); - OrdersType ResOrder(TE.Scalars.size()); - for (unsigned Id = 0, Sz = TE.Scalars.size(); Id < Sz; ++Id) - PhiToId[Id] = Id; stable_sort(Phis, PHICompare); - for (unsigned Id = 0, Sz = Phis.size(); Id < Sz; ++Id) - ResOrder[Id] = PhiToId[Phis[Id]]; - if (isIdentityOrder(ResOrder)) + if (isIdentityOrder(Phis)) return std::nullopt; // No need to reorder. - return std::move(ResOrder); + return std::move(Phis); } if (TE.isGather() && !TE.isAltShuffle() && allSameType(TE.Scalars)) { // TODO: add analysis of other gather nodes with extractelement