[llvm] r306749 - [SLPVectorizer] Moving Entry->NeedToGather check out of inner loop,
Dinar Temirbulatov via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 29 14:56:33 PDT 2017
Author: dinar
Date: Thu Jun 29 14:56:33 2017
New Revision: 306749
URL: http://llvm.org/viewvc/llvm-project?rev=306749&view=rev
Log:
[SLPVectorizer] Moving Entry->NeedToGather check out of inner loop,
since it is invariant there. NFCI.
Modified:
llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp
Modified: llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp?rev=306749&r1=306748&r2=306749&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (original)
+++ llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp Thu Jun 29 14:56:33 2017
@@ -1062,14 +1062,14 @@ void BoUpSLP::buildTree(ArrayRef<Value *
for (TreeEntry &EIdx : VectorizableTree) {
TreeEntry *Entry = &EIdx;
+ // No need to handle users of gathered values.
+ if (Entry->NeedToGather)
+ continue;
+
// For each lane:
for (int Lane = 0, LE = Entry->Scalars.size(); Lane != LE; ++Lane) {
Value *Scalar = Entry->Scalars[Lane];
- // No need to handle users of gathered values.
- if (Entry->NeedToGather)
- continue;
-
// Check if the scalar is externally used as an extra arg.
auto ExtI = ExternallyUsedValues.find(Scalar);
if (ExtI != ExternallyUsedValues.end()) {
More information about the llvm-commits
mailing list