[PATCH] D100258: [VPlan] Add first VPlan version of sinkScalarOperands.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 27 06:10:28 PDT 2021


fhahn added a comment.

In D100258#2784242 <https://reviews.llvm.org/D100258#2784242>, @uabelho wrote:

> Hello!
>
> The following starts failing with htis patch:
>
>   opt -loop-vectorize -force-vector-width=2 -S -o - bbi-56568.ll
>
> Result:
>
>   Instruction does not dominate all uses!
>     %2 = getelementptr inbounds [9 x i16], [9 x i16]* @v_102, i16 0, i16 undef
>     %7 = load i16, i16* %2, align 1
>   opt: ../lib/Transforms/Vectorize/LoopVectorize.cpp:10200: bool llvm::LoopVectorizePass::processLoop(llvm::Loop *): Assertion `!verifyFunction(*L->getHeader()->getParent(), &dbgs())' failed.
>
> F17066679: bbi-56568.ll <https://reviews.llvm.org/F17066679>

Thanks for the report. The issue appears to be that we sink a uniform replicate recipe. We only generate lane 0 for such recipes, so sinking should not be beneficial and it causes the crash because all users use lane 0, which will be generated in a conditional block after sinking. Should be fixed in 38641ddf3e56 <https://reviews.llvm.org/rG38641ddf3e5630db6ecb167b2d1b520b22e56405>


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100258



More information about the llvm-commits mailing list