[PATCH] D62432: [SLPVectorizer] Make the scheduler aware of the TreeEntry operands.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 15 06:38:19 PDT 2019


ABataev added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:1746
     /// actually moved at this stage.
-    bool tryScheduleBundle(ArrayRef<Value *> VL, BoUpSLP *SLP,
-                           const InstructionsState &S);
+    /// \Returns the scheduling bundle. The returned Optional value is non-None
+    /// if \p VL is allowed to be scheduled.
----------------
`\returns`


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:2231
 
-      auto *TE = newTreeEntry(VL, true, UserTreeIdx, ReuseShuffleIndicies);
+      auto *TE = newTreeEntry(VL, Bundle, UserTreeIdx, ReuseShuffleIndicies);
       LLVM_DEBUG(dbgs() << "SLP: added a vector of PHINodes.\n");
----------------
Better to use `TreeEntry *` instead of `auto *`


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:2351
             ++NumOpsWantToKeepOriginalOrder;
-            newTreeEntry(VL, /*Vectorized=*/true, UserTreeIdx,
-                         ReuseShuffleIndicies);
+            auto *TE = newTreeEntry(VL, Bundle /*vectorized*/, UserTreeIdx,
+                                    ReuseShuffleIndicies);
----------------
`TreeEntry *`


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:2359
             ++I->getSecond();
-            newTreeEntry(VL, /*Vectorized=*/true, UserTreeIdx,
-                         ReuseShuffleIndicies, I->getFirst());
+            auto *TE = newTreeEntry(VL, Bundle /*vectorized*/, UserTreeIdx,
+                                    ReuseShuffleIndicies, I->getFirst());
----------------
`TreeEntry *`


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:2398
       }
-      auto *TE = newTreeEntry(VL, true, UserTreeIdx, ReuseShuffleIndicies);
+      auto *TE = newTreeEntry(VL, Bundle /*vectorized*/, UserTreeIdx,
+                              ReuseShuffleIndicies);
----------------
`TreeEntry *`


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D62432





More information about the llvm-commits mailing list