[all-commits] [llvm/llvm-project] 8760ea: DAG: Avoid forming shufflevector from a single ext...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Sun Jan 12 23:39:25 PST 2025


  Branch: refs/heads/users/arsenm/dag-do-not-form-shuffle-for-single-extract-element
  Home:   https://github.com/llvm/llvm-project
  Commit: 8760ea5965a338568048293f67faa502e05bbfa7
      https://github.com/llvm/llvm-project/commit/8760ea5965a338568048293f67faa502e05bbfa7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/X86/sse41.ll

  Log Message:
  -----------
  DAG: Avoid forming shufflevector from a single extract_vector_elt

This avoids regressions in a future AMDGPU commit. Previously we
would have a build_vector (extract_vector_elt x), undef with free
access to the elements bloated into a shuffle of one element + undef,
which has much worse combine support than the extract.

Alternatively could check aggressivelyPreferBuildVectorSources, but
I'm not sure it's really different than isExtractVecEltCheap.



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