[PATCH] D118810: [RISCV] Select unmasked RVV pseudos in a DAG post-process

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 3 11:45:54 PST 2022


craig.topper 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
----------------
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.


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