[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 13:25:58 PDT 2023


luke added a comment.

In D152810#4422399 <https://reviews.llvm.org/D152810#4422399>, @reames wrote:

> JFYI, I deleted the undef check in c4a3bd7f <https://reviews.llvm.org/rGc4a3bd7f8b7c587813d0e54d8d2dde7385895d09>.
>
> Also, I'm now 100% convinced the line just above (the policy check) is a miscompile.  It's probably a silent one, but it's definitely a miscompile since we haven't checked whether there are any tail elements (for which agnostic might be undefined).

Indeed. Also at least when running the codegen checks and compiling sqlite, the

  if (I->UnmaskedTUPseudo == I->MaskedPseudo)
    return false;

branch seems to be dead too. Perhaps it should be an assertion?
I have a series of patches almost ready to fix the policy check, and as expected it seems to affect vmseq and vmflt.vv pseudos, i.e. mask pseudos without a policy op. Before I post it though I need to check that the test diff is actually correct.


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