[PATCH] D141512: [SLP]Improve isGatherShuffledEntry by looking deeper through the reused scalars.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 21 08:02:24 PST 2023


ABataev added a comment.

In D141512#4140566 <https://reviews.llvm.org/D141512#4140566>, @uabelho wrote:

> Hello,
>
> The following crashes with this patch:
>  opt -passes="slp-vectorizer" bbi-79327.ll -S -o /dev/null
>
> It hits
>
>   opt: ../lib/Transforms/Vectorize/SLPVectorizer.cpp:8267: std::optional<TargetTransformInfo::ShuffleKind> llvm::slpvectorizer::BoUpSLP::isGatherShuffledEntry(const llvm::slpvectorizer::BoUpSLP::TreeEntry *, ArrayRef<llvm::Value *>, SmallVectorImpl<int> &, SmallVectorImpl<const llvm::slpvectorizer::BoUpSLP::TreeEntry *> &): Assertion `NodeUI && "Should only process reachable instructions"' failed.
>
> "for.end5" in the input iis unreachable from entry but jumps to code that is reachable from entry. I suppose that is what trips the slp vectorizer up.
>
> F26589414: bbi-79327.ll <https://reviews.llvm.org/F26589414>

Must be fixed in 5f928a223ef2c14701eab3077a534c1e49269a51 <https://reviews.llvm.org/rG5f928a223ef2c14701eab3077a534c1e49269a51>


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D141512



More information about the llvm-commits mailing list