[PATCH] D122563: [RISCV] Add DAGCombine to fold base operation and reduction.
Yeting Kuo via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 14 02:57:10 PDT 2022
fakepaper56 added a comment.
In D122563#3438080 <https://reviews.llvm.org/D122563#3438080>, @craig.topper wrote:
> -Do we currently mark VP_REDUCE nodes as Expand on targets that don't support it? I don't see anything in TargetLoweringBase::initActions, but maybe I missed it. I think we would need that fixed to know if we could do the combine so that we only do it on targets that support it.
`VP_REDUCE` nodes are marked as Custom. `VP_REDUCE` opcodes are elements of `IntegerVPOps` and `FloatingPointVPOps`.
> -What would we use for VL for the VP_REDUCE from a generic combine? vscale * known minimum element count? Then we'd need to detect that and replace it with RISCV::X0 for RISCV?
I have another question. If we want to transform `VECREDUCE` to `VP_REDUCE` before legalization, how to represent VL for `<vscale x 16 x i64>`?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D122563/new/
https://reviews.llvm.org/D122563
More information about the llvm-commits
mailing list