[PATCH] D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops.

Dinar Temirbulatov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 22 06:21:46 PDT 2018


dtemirbulatov added inline comments.


================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:3112
+      int MaxDist = 0;
+      while (Bundle) {
+        int Dist = std::distance(BB->begin(), Bundle->Inst->getIterator());
----------------
ABataev wrote:
> dtemirbulatov wrote:
> > ABataev wrote:
> > > Why you can't put bundles in the list in the right order: from the very first instruction to the very last?
> > I could do this in scheduleBlock() function with a queue, but that could add additional complexity.
> Could you explain why?
One instruction could belong to one or more separate bundles... and while we try to change order in bundles at scheduleBlock() we have to update ScheduleDataMap, ExtraScheduleDataMap.


https://reviews.llvm.org/D28907





More information about the llvm-commits mailing list