[all-commits] [llvm/llvm-project] 4f5020: DAG: Fix vector_shuffle -> splat fold defining und...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Jan 20 03:51:33 PST 2025


  Branch: refs/heads/users/arsenm/fix-shuffle-splat-to-build-vector-defining-elements
  Home:   https://github.com/llvm/llvm-project
  Commit: 4f5020fd9220424cca64ee379de2a1c147b1b001
      https://github.com/llvm/llvm-project/commit/4f5020fd9220424cca64ee379de2a1c147b1b001
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/PowerPC/vector-reduce-fadd.ll
    M llvm/test/CodeGen/WebAssembly/simd.ll
    M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
    M llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
    M llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
    M llvm/test/CodeGen/X86/vec_smulo.ll
    M llvm/test/CodeGen/X86/vec_umulo.ll
    M llvm/test/CodeGen/X86/widen_shuffle-1.ll

  Log Message:
  -----------
  DAG: Fix vector_shuffle -> splat fold defining undef lanes

For shuffle vector splats with undef lanes in the mask,
this was introducing real values. Filter out build_vector
results based on the undef elements in the mask.

This avoids AMDGPU test regressions in a future change.

test/CodeGen/X86/urem-seteq-illegal-types.ll looks worse
but I didn't investigate.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list