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

Mikael Holmén via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 27 22:03:05 PDT 2021


uabelho added a comment.

In D100258#2784575 <https://reviews.llvm.org/D100258#2784575>, @fhahn wrote:

> 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>

Thanks!


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