[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