Hey Anton,
Ok cool! No rush on a fix our end - I just speculatively (and
intermittently) bump our trunk version to ensure we stay in lock-step with
any of the frequent API changes that tip of tree brings.
Cheers,
-Neil.
On Tue, Aug 31, 2021 at 10:53 AM Anton Afanasyev <
anton.a.afanasyev at gmail.com> wrote:
> Hi Neil,
> it looks like this bug was introduced by this commit:
> https://reviews.llvm.org/rGa36bc873a269dca0c5399d72bfdd42d3ddc72671
> I'm to report this and revert it if no fix in short time.
> Thanks,
> Anton
>
> вт, 31 авг. 2021 г. в 11:20, Neil Henning via llvm-dev <
> llvm-dev at lists.llvm.org>:
>
>> Hey list,
>>
>> I don't have bugzilla (reasons - incidentally is there anyone
working on
>> a more sane way to report bugs yet?).
>>
>> Between LLVM 13 rc2 and trunk I've got some new fun fail in the SLP
>> vectorizer. I'll attach the repro below (I could repro it with opt
>> --slp-vectorizer test.ll) - fails with:
>>
>> Assertion failed: !isa<PHINode>(I) &&
!isVectorLikeInstWithConstOps(I) &&
>> "phi nodes/insertelements/extractelements/extractvalues don't
need to " "be
>> scheduled", file ..\lib\Transforms\Vectorize\SLPVectorizer.cpp,
line 6096
>>
>> Anyone know what has changed in the short time from 13 -> trunk
that'd
>> cause this?
>>
>> define void @test([4 x float]* nocapture %o, [2 x float]* nocapture
>> nonnull readonly dereferenceable(8) %a, [2 x float]* nocapture nonnull
>> readonly dereferenceable(8) %b, i32 signext %component) {
>> entry:
>> %0 = bitcast [2 x float]* %a to <2 x float>*
>> %1 = load <2 x float>, <2 x float>* %0, align 1
>> %2 = bitcast [2 x float]* %b to <2 x float>*
>> %3 = load <2 x float>, <2 x float>* %2, align 1
>> %4 = trunc i32 %component to i8
>> %5 = shufflevector <2 x float> %1, <2 x float> %3, <8
x i32> <i32 0,
>> i32 1, i32 undef, i32 undef, i32 2, i32 3, i32 undef, i32 undef>
>> %6 = extractelement <8 x float> %5, i8 %4
>> %7 = insertelement <4 x float> undef, float %6, i64 0
>> %8 = extractelement <2 x float> %3, i32 1
>> %9 = insertelement <4 x float> %7, float %8, i64 1
>> %10 = extractelement <2 x float> %1, i32 1
>> %11 = insertelement <4 x float> %9, float %10, i64 2
>> %12 = insertelement <4 x float> %11, float %6, i64 3
>> %13 = bitcast [4 x float]* %o to <4 x float>*
>> store <4 x float> %12, <4 x float>* %13, align 1
>> ret void
>> }
>>
>> Thanks for any help,
>> -Neil.
>>
>> --
>> Neil Henning
>> Senior Software Engineer Compiler
>> unity.com
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>
--
Neil Henning
Senior Software Engineer Compiler
unity.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20210831/cde98c0a/attachment.html>