[llvm] [DAG][RISCV] Use vp_reduce_* when widening illegal types for reductions (PR #105455)

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 21 08:51:20 PDT 2024


preames wrote:

I just pushed some additional changes to this review.  I had not seen Luke's LGTM when I did so, and may have made this more complicated than it should be.  Sorry!

Can I ask for a new round of review?

The major changes are:
1) Support for FP reductions.  Because of the way the VP mappings are constructed right now, this excludes VECREDUCE_FADD and VECREDUCE_FMUL (both ordered and not).
2) Remove the guard for legal mask types.  I copied that guard from load lowering originally, and the one other case I introduced was binops.  I can't come up with a way we'd need to recursively lower a mask reduce when lowering a constant mask.  :)

https://github.com/llvm/llvm-project/pull/105455


More information about the llvm-commits mailing list