[all-commits] [llvm/llvm-project] becfb4: [RISCV] Add test for vmerge combine that should be...

Luke Lau via All-commits all-commits at lists.llvm.org
Thu Jul 13 03:42:38 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: becfb4612a3951415ca1a6cfa714fa250605f1a8
      https://github.com/llvm/llvm-project/commit/becfb4612a3951415ca1a6cfa714fa250605f1a8
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-07-13 (Thu, 13 Jul 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Add test for vmerge combine that should be prevented

The fadd in these test cases is constrained and may set fflags differently
depending on the active elements (the nofpexcept flag isn't set on the node).
Therefore to preserve semantics we shouldn't change its mask.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D154979


  Commit: ed15e9119b4a90932a286e82d74e115ad459db9d
      https://github.com/llvm/llvm-project/commit/ed15e9119b4a90932a286e82d74e115ad459db9d
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-07-13 (Thu, 13 Jul 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Don't fold vmerge into ops if fp exception can be raised

We are already checking for fp exceptions if VL changes, but I believe we
should also be checking for them if the mask changes as well, since that also
affects the set of active elements. From the spec:
> A vector floating-point exception at any active floating-point element sets
> the standard FP exception flags in the fflags register. Inactive elements do
> not set FP exception flags.

Note that we don't change the mask if IsMasked is true, i.e. True is masked
already, since in that case we keep the existing mask.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D154980


Compare: https://github.com/llvm/llvm-project/compare/9418c40af7ec...ed15e9119b4a


More information about the All-commits mailing list