[PATCH] D95690: [LoopVectorize] improve IR fast-math-flags propagation in reductions
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 1 09:05:24 PST 2021
dmgreen accepted this revision.
dmgreen added a comment.
This revision is now accepted and ready to land.
> There's still a bug in ExpandReductions, and we do need to fix that - it's preventing expected vectorization from SLP as noted here:
> https://llvm.org/PR23116
Why does ISel not lower it more optimally? ExpandReductions never seemed like it should be needed to me.
> But yes, since we are still requiring NoNan here, I think we are safe (this patch can't make things worse unless I've missed some loophole in lowering).
Yeah, this seems more correct. LGTM :)
> There was also this example:
> https://llvm.org/PR43574
> ...but we either solved that one or made it invisible with the changes so far. I need to investigate the IR after each pass.
I thought that we haven't been able to vectorizer min/max reductions in the loop vectorizer for a while as the minnum/maxnum intrinsics do not get matched - it's still expecting a icmp/select in the reduction recognition code.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D95690/new/
https://reviews.llvm.org/D95690
More information about the llvm-commits
mailing list