[PATCH] D57779: [SLP] Add support for throttling.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 31 11:35:37 PDT 2020


ABataev added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:3297-3300
+    // For all canceled operations we should consider the possibility of
+    // use by with non-canceled operations and for that, it requires
+    // to populate ExternalUser list with canceled elements.
+    for (int Lane = 0, LE = Entry->Scalars.size(); Lane != LE; ++Lane) {
----------------
dtemirbulatov wrote:
> ABataev wrote:
> > Should this loop be executed only for `ProposedToGather` `Entry`s?
> Yes, but we have to know the lane there.
I mean, that the check in the previous if must be `Entry->State == TreeEntry::ProposedToGather`, not `!= TreeEntry::Vectorize`


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:3316-3319
+    }
+  }
+  // Canceling unprofitable elements.
+  for (std::unique_ptr<TreeEntry> &TEPtr : Tree->VectorizableTree) {
----------------
dtemirbulatov wrote:
> ABataev wrote:
> > I actually don't see propagation for `ProposedTogather` and these loops can be merged, no?
> No, No possible to merge those two loops.
Why?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57779/new/

https://reviews.llvm.org/D57779



More information about the llvm-commits mailing list