[all-commits] [llvm/llvm-project] cf8120: DAG: Fix vector bin op scalarize defining a partia...
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Thu Jan 16 17:32:30 PST 2025
Branch: refs/heads/users/arsenm/dag-fix-scalarize-bin-op-of-splats-overdefining-one-undef-operand
Home: https://github.com/llvm/llvm-project
Commit: cf8120e4b585ef47831efb065361844afb1eac17
https://github.com/llvm/llvm-project/commit/cf8120e4b585ef47831efb065361844afb1eac17
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
Log Message:
-----------
DAG: Fix vector bin op scalarize defining a partially undef vector
This avoids some of the pending regressions after AMDGPU implements
isExtractVecEltCheap.
In a case like shl <value, undef>, splat k, because the second operand
was fully defined, we would fall through and use the splat value for the
first operand, losing the undef high bits. This would result in an additional
instruction to handle the high bits. Add some reduced testcases for different
opcodes for one of the regressions.
Commit: a4a1f28bd58198a87ea192a870f81f70059829d7
https://github.com/llvm/llvm-project/commit/a4a1f28bd58198a87ea192a870f81f70059829d7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Just use insert_vector_elt
Commit: 351dfdfb6c12e137f94a900afa111049accdc6b2
https://github.com/llvm/llvm-project/commit/351dfdfb6c12e137f94a900afa111049accdc6b2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Check if getNode folded to undef instead
Commit: 70d7ce12230e70813a5eee17506609b7eabb29f8
https://github.com/llvm/llvm-project/commit/70d7ce12230e70813a5eee17506609b7eabb29f8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Don't bother counting the undefs
It folds to undef or a constant and seems to have the best result
anyway rather than overdefining by splatting the variable value.
Commit: da27407f430cc6ef990880798a1a4971c2863ba4
https://github.com/llvm/llvm-project/commit/da27407f430cc6ef990880798a1a4971c2863ba4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Update comment
Commit: c41456e1c0e8ded167f197b62e148912c657eb23
https://github.com/llvm/llvm-project/commit/c41456e1c0e8ded167f197b62e148912c657eb23
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Fix comment again
Compare: https://github.com/llvm/llvm-project/compare/ea735413cd1f...c41456e1c0e8
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