[PATCH] D103479: [SLP] Ignore unreachable blocks

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 1 11:57:49 PDT 2021


ABataev added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:2833-2834
       for (unsigned I = 0, E = PH->getNumIncomingValues(); I < E; ++I) {
+        if (!DT->isReachableFromEntry(PH->getIncomingBlock(I)))
+          continue;
         ValueList Operands;
----------------
Better to do something like this:
```
if (!DT->isReachableFromEntry(PH->getIncomingBlock(I))) {
  ValueList Operands(VL.size(), PoisonValue::get(PH->getType()));
  TE->setOperand(I, Operands);
  OperandsVec.push_back(Operands);
  continue;
}
``` 
and remove the change in `BoUpSLP::vectorizeTree`


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103479



More information about the llvm-commits mailing list