[RISCV][RVV] Select unmasked TU RVV pseudos in a DAG post-process
authorShihPo Hung <shihpo.hung@sifive.com>
Tue, 22 Mar 2022 02:58:46 +0000 (19:58 -0700)
committerShihPo Hung <shihpo.hung@sifive.com>
Wed, 27 Apr 2022 03:14:54 +0000 (20:14 -0700)
commit6b55f133fb0727e30fd07f56de7a386ad5a72b30
treec66104f4223815875a44841c471e7eb4d098739e
parentbcb2b86df672c0c7779c070000c3d4cdab6017bb
[RISCV][RVV] Select unmasked TU RVV pseudos in a DAG post-process

Following D118810 that reduced the size of ISel table,
this patch optimizes allone-masked RVV pseudos with TU policy and
swap them out to their unmasked TU pseudos.

Since the UNDEF merge operand is not preserved, we turn it into TA
pseudo regardless of the policy operand.

Reviewed By: craig.topper, frasercrmck
Differential Revision: https://reviews.llvm.org/D121881
llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
llvm/test/CodeGen/RISCV/rvv/allone-masked-to-unmasked.ll