[PATCH] D118810: [RISCV] Select unmasked RVV pseudos in a DAG post-process
Fraser Cormack via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 4 04:59:19 PST 2022
frasercrmck marked an inline comment as done.
frasercrmck added inline comments.
================
Comment at: llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:2196
+
+ if (RISCVII::hasVecPolicyOp(MaskedMCID.TSFlags)) {
+ // The last operand of the pseudo is the policy op, but we're expecting a
----------------
craig.topper wrote:
> frasercrmck wrote:
> > craig.topper wrote:
> > > If the policy Op exists and isn't TAIL_AGNOSTIC, this transform isn't valid is it?
> > >
> > > Using an all ones mask with TAIL_UNDISTURBED is a valid way to get tail undisturbed behavior until we have tail undisturbed unmasked instructions.
> > Yes you're right, thanks, I wasn't careful enough about that. Though I suppose TAIL_UNDISTURBED with an IMPLICIT_DEF merge operand would still be valid to transform? Regardless, we don't have test coverage for that so I've not added logic to deal with that.
> I think the IMPLICIT_DEF case would be ok. Though maybe DAG combines to simplify such cases might be better.
Were you thinking of something that would DAG combine TU+IMPLICIT_DEF -> TA?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118810/new/
https://reviews.llvm.org/D118810
More information about the llvm-commits
mailing list