[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