[PATCH] D93860: [SLP] delete unused pairwise reduction option

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 31 07:02:10 PST 2020


spatel added a comment.

In D93860#2475454 <https://reviews.llvm.org/D93860#2475454>, @pengfei wrote:

> Yep, that's definitely wrong. But I think FMF propagation is not an easy thing. We cannot always copy the original FMF, right? E.g. `reassoc` reduction may result in `inf` which "sequential" doesn't. Should `ninf` be propagated or not after reduction?

We would propagate `ninf` in that situation. For example, if the incoming ops are all `fast`, then the outgoing ops will still be `fast`. We know that `reassoc` means that effectively anything is possible with FP, so it is the programmer's responsibility to deal with edge cases, not the compiler's responsibility. The LangRef defines this behavior correctly with poison:
http://llvm.org/docs/LangRef.html#fast-math-flags


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

https://reviews.llvm.org/D93860



More information about the llvm-commits mailing list