[all-commits] [llvm/llvm-project] 6e532f: [RISCV] Add test case showing vmerge fold miscompi...
Luke Lau via All-commits
all-commits at lists.llvm.org
Tue Aug 22 02:39:39 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6e532f94eb0e2c9c93a3d75b4cf53bf12ab9f518
https://github.com/llvm/llvm-project/commit/6e532f94eb0e2c9c93a3d75b4cf53bf12ab9f518
Author: Luke Lau <luke at igalia.com>
Date: 2023-08-22 (Tue, 22 Aug 2023)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
Log Message:
-----------
[RISCV] Add test case showing vmerge fold miscompile with tail policy
Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D158160
Commit: 007b41b3939832b6938bb1ba91e9febebf93d3b8
https://github.com/llvm/llvm-project/commit/007b41b3939832b6938bb1ba91e9febebf93d3b8
Author: Luke Lau <luke at igalia.com>
Date: 2023-08-22 (Tue, 22 Aug 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
Log Message:
-----------
[RISCV] Don't relax policy to ta when vmerge's VL shrinks during folding
When folding a vmerge into its operands, if the resulting VL is smaller than
what the vmerge had originally then what was previously in its body then gets
moved to the tail. In that case, we can't relax the tail policy to agnostic
when the merge operand is undefined, since we need to preserve these elements
past the new VL.
Fixes https://github.com/llvm/llvm-project/issues/64754
Reviewed By: craig.topper, reames
Differential Revision: https://reviews.llvm.org/D158161
Compare: https://github.com/llvm/llvm-project/compare/0b91b1aec480...007b41b39398
More information about the All-commits
mailing list