Commit 1e4544e
committed
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.1 parent 93c5e27 commit 1e4544e
File tree
5 files changed
+34
-23
lines changed- llvm
- lib/CodeGen/SelectionDAG
- test/CodeGen
- AMDGPU
- X86
5 files changed
+34
-23
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23807 | 23807 | | |
23808 | 23808 | | |
23809 | 23809 | | |
| 23810 | + | |
| 23811 | + | |
| 23812 | + | |
| 23813 | + | |
23810 | 23814 | | |
23811 | 23815 | | |
23812 | 23816 | | |
| |||
23824 | 23828 | | |
23825 | 23829 | | |
23826 | 23830 | | |
23827 | | - | |
23828 | | - | |
| 23831 | + | |
23829 | 23832 | | |
23830 | | - | |
23831 | 23833 | | |
| 23834 | + | |
23832 | 23835 | | |
23833 | 23836 | | |
| 23837 | + | |
| 23838 | + | |
| 23839 | + | |
23834 | 23840 | | |
23835 | | - | |
23836 | | - | |
| 23841 | + | |
| 23842 | + | |
23837 | 23843 | | |
23838 | 23844 | | |
23839 | 23845 | | |
23840 | 23846 | | |
23841 | 23847 | | |
23842 | 23848 | | |
23843 | 23849 | | |
| 23850 | + | |
| 23851 | + | |
23844 | 23852 | | |
23845 | 23853 | | |
23846 | 23854 | | |
| |||
23863 | 23871 | | |
23864 | 23872 | | |
23865 | 23873 | | |
| 23874 | + | |
| 23875 | + | |
| 23876 | + | |
| 23877 | + | |
| 23878 | + | |
| 23879 | + | |
| 23880 | + | |
23866 | 23881 | | |
23867 | 23882 | | |
23868 | 23883 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
452 | 452 | | |
453 | 453 | | |
454 | 454 | | |
455 | | - | |
456 | | - | |
457 | | - | |
458 | | - | |
459 | | - | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
460 | 460 | | |
461 | 461 | | |
462 | 462 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
22 | 20 | | |
23 | 21 | | |
24 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | | - | |
36 | | - | |
| 34 | + | |
| 35 | + | |
37 | 36 | | |
38 | 37 | | |
39 | 38 | | |
40 | 39 | | |
41 | 40 | | |
42 | 41 | | |
43 | | - | |
44 | | - | |
45 | | - | |
| 42 | + | |
| 43 | + | |
46 | 44 | | |
47 | 45 | | |
48 | 46 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
| 43 | + | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| |||
0 commit comments