[PATCH] D118538: [SLP] Schedule only sub-graph of vectorizable instructions

Mikael Holmén via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 21 23:44:03 PDT 2022


uabelho added a comment.

In D118538#3398720 <https://reviews.llvm.org/D118538#3398720>, @uabelho wrote:

> Hi,
>
> Heads up that I've seen the following assert (added in 6253b77da <https://reviews.llvm.org/rG6253b77da9f3fd7ee3286a2b4d39e87b0f0f55f5>) trigger in one of our downstream tests:
>
>   opt: ../lib/Transforms/Vectorize/SLPVectorizer.cpp:8066: void llvm::slpvectorizer::BoUpSLP::BlockScheduling::calculateDependencies(llvm::slpvectorizer::BoUpSLP::ScheduleData *, bool, llvm::slpvectorizer::BoUpSLP *): Assertion `DepDest && "must be in schedule window"' failed.
>
> I'll try to extract a reproducer and come back.

Ok, at commit 31486a9fc27 <https://reviews.llvm.org/rG31486a9fc27a12e2c504861a1c4c3465cbb55856> it crashed with

  opt -passes='function<eager-inv>(slp-vectorizer)' -o /dev/null slp.ll

However, I noticed that it doesn't crash on trunk anymore after commit 79a182371e <https://reviews.llvm.org/rG79a182371e469d5d1bfc361845244dfacb77133c>

  [SLP]Make stricter check for instructions that do not require
  scheduling.
  
  Need to check that the instructions with external operands can be
  reordered safely before actualy exclude them from the scheduling.

So perhaps/hopefully the problem is already solved.
F22511129: slp.ll <https://reviews.llvm.org/F22511129>


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D118538



More information about the llvm-commits mailing list