Commit 87bc56f
committed
DAG: Avoid breaking legal vector_shuffle with multiple uses
Previously this combine would undo AMDGPU's new custom legalization of
wide vector shuffles into 2 element pieces. The comment also
states that this combine is only done before legalization,
but the case with a build_vector source was unconditional.
We probably don't want to do this if the multiple uses are full
scalarization of the vector, but this seems to work well enough.
Scalarizing extracts should have folded out pre-legalize.1 parent 1c68965 commit 87bc56f
File tree
10 files changed
+1763
-2325
lines changed- llvm
- lib/CodeGen/SelectionDAG
- test/CodeGen/AMDGPU
10 files changed
+1763
-2325
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23186 | 23186 | | |
23187 | 23187 | | |
23188 | 23188 | | |
| 23189 | + | |
| 23190 | + | |
| 23191 | + | |
| 23192 | + | |
| 23193 | + | |
23189 | 23194 | | |
23190 | 23195 | | |
23191 | 23196 | | |
| |||
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
0 commit comments