[all-commits] [llvm/llvm-project] b1ada7: [DAG] Support store merging of vector constant sto...

Philip Reames via All-commits all-commits at lists.llvm.org
Thu Aug 10 09:00:15 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b1ada7a1d31ee28a7c0e57268c6c6fe24931f25d
      https://github.com/llvm/llvm-project/commit/b1ada7a1d31ee28a7c0e57268c6c6fe24931f25d
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-08-10 (Thu, 10 Aug 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
    M llvm/test/CodeGen/X86/MergeConsecutiveStores.ll
    M llvm/test/CodeGen/X86/avx512-mask-op.ll

  Log Message:
  -----------
  [DAG] Support store merging of vector constant stores (try 2)

Original commit didn't handle the case where one of the stores was a
truncating store of the build_vector.  The existing codepath produced
wrong code (which thankfully also failed asserts) instead of guarding
against unexpected types.  Original commit message follows..

Ran across this when making a change to RISCV memset lowering. Seems
very odd that manually merging a store into a vector prevents it from
being further merged.

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




More information about the All-commits mailing list