[PATCH] D152810: [RISCV] Fix IMPLICIT_DEF check in doPeepholeMaskedRVV

Luke Lau via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 14 03:07:24 PDT 2023


luke added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:3194
       TailPolicyOpIdx = getVecPolicyOpIdx(N, MaskedMCID);
       if (!(N->getConstantOperandVal(*TailPolicyOpIdx) &
             RISCVII::TAIL_AGNOSTIC)) {
----------------
reames wrote:
> This code is actually a bit suspect on a deeper level.  What we call TA pseudos don't have a merge operand.  As a result, they're actually tail undefined, not tail agnostic.  I think we should be defaulting to using the TU form unless the pass through is implicit_def.  
Yes, I thought the same as well and tried changing it to be TU by default, but got some strange test changes. Will investigate it a bit further anyway.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D152810/new/

https://reviews.llvm.org/D152810



More information about the llvm-commits mailing list