[all-commits] [llvm/llvm-project] b9ec56: DAG: Avoid forming shufflevector from a single ext...
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Mon Jan 13 03:32:20 PST 2025
Branch: refs/heads/users/arsenm/dag-do-not-form-shuffle-for-single-extract-element
Home: https://github.com/llvm/llvm-project
Commit: b9ec5619f55edec45875f3dc97d2d02ac8a0f16c
https://github.com/llvm/llvm-project/commit/b9ec5619f55edec45875f3dc97d2d02ac8a0f16c
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/avx512-build-vector.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/insertelement-duplicates.ll
M llvm/test/CodeGen/X86/sse-align-12.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