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

Mikael Holmén via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 20 22:42:42 PST 2023


uabelho added a comment.

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>


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