[PATCH] D93860: [SLP] delete unused pairwise reduction option
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 30 08:35:24 PST 2020
spatel added a comment.
In D93860#2475145 <https://reviews.llvm.org/D93860#2475145>, @spatel wrote:
> SLP requires `fast` as a pre-condition before matching a reduction (although I'm not sure if that implementation is completely sound), so the hard-coded logic:
>
> Unsafe.setFast();
> Builder.setFastMathFlags(Unsafe);
>
> ...is theoretically safe here. But yes, that is one bug I am hoping to fix. LoopVectorizer appears to have different bug(s).
I was wrong - I thought we had test coverage for this, but I don't see it now. Here is an example of SLP miscompile: 3567908d8ceb <https://reviews.llvm.org/rG3567908d8ceb95afe50961c7a953c202131235c5>
The transformed code with reduction assumes things like `ninf` and `nnan`, but those do not exist in the original code.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93860/new/
https://reviews.llvm.org/D93860
More information about the llvm-commits
mailing list