[llvm] [SLP] NFC. Remove redundant computation in getReorderingData. (PR #117295)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 21 22:41:49 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-vectorizers
@llvm/pr-subscribers-llvm-transforms
Author: Han-Kuan Chen (HanKuanChen)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/117295.diff
1 Files Affected:
- (modified) llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (+3-9)
``````````diff
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index fb30d46cfda1bf..1ef59e6c5915e1 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<unsigned, unsigned, 16> PhiToId;
- SmallVector<unsigned> 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
``````````
</details>
https://github.com/llvm/llvm-project/pull/117295
More information about the llvm-commits
mailing list