[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