[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