[PATCH] D103479: [SLP] Ignore unreachable blocks

Harald van Dijk via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 1 12:17:20 PDT 2021


hvdijk marked an inline comment as done.
hvdijk 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;
----------------
ABataev wrote:
> 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`
Good idea, re-ran tests with exactly what you put here, that works.


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