Commit 8760ea5
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 b93cb29 commit 8760ea5
File tree
3 files changed
+29
-14
lines changed- llvm
- lib/CodeGen/SelectionDAG
- test/CodeGen
- AMDGPU
- X86
3 files changed
+29
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23799 | 23799 | | |
23800 | 23800 | | |
23801 | 23801 | | |
| 23802 | + | |
| 23803 | + | |
| 23804 | + | |
| 23805 | + | |
23802 | 23806 | | |
23803 | 23807 | | |
23804 | 23808 | | |
| |||
23816 | 23820 | | |
23817 | 23821 | | |
23818 | 23822 | | |
23819 | | - | |
23820 | | - | |
| 23823 | + | |
23821 | 23824 | | |
23822 | | - | |
23823 | 23825 | | |
| 23826 | + | |
23824 | 23827 | | |
23825 | 23828 | | |
| 23829 | + | |
| 23830 | + | |
| 23831 | + | |
23826 | 23832 | | |
23827 | | - | |
23828 | | - | |
| 23833 | + | |
| 23834 | + | |
23829 | 23835 | | |
23830 | 23836 | | |
23831 | 23837 | | |
23832 | 23838 | | |
23833 | 23839 | | |
23834 | 23840 | | |
23835 | 23841 | | |
| 23842 | + | |
| 23843 | + | |
23836 | 23844 | | |
23837 | 23845 | | |
23838 | 23846 | | |
| |||
23855 | 23863 | | |
23856 | 23864 | | |
23857 | 23865 | | |
| 23866 | + | |
| 23867 | + | |
| 23868 | + | |
| 23869 | + | |
| 23870 | + | |
| 23871 | + | |
| 23872 | + | |
23858 | 23873 | | |
23859 | 23874 | | |
23860 | 23875 | | |
| |||
| 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 | |
|---|---|---|---|
| |||
2124 | 2124 | | |
2125 | 2125 | | |
2126 | 2126 | | |
2127 | | - | |
| 2127 | + | |
2128 | 2128 | | |
2129 | 2129 | | |
2130 | 2130 | | |
2131 | 2131 | | |
2132 | 2132 | | |
2133 | 2133 | | |
2134 | | - | |
| 2134 | + | |
2135 | 2135 | | |
2136 | 2136 | | |
2137 | 2137 | | |
| |||
2152 | 2152 | | |
2153 | 2153 | | |
2154 | 2154 | | |
2155 | | - | |
| 2155 | + | |
2156 | 2156 | | |
2157 | 2157 | | |
2158 | 2158 | | |
2159 | 2159 | | |
2160 | 2160 | | |
2161 | 2161 | | |
2162 | | - | |
| 2162 | + | |
2163 | 2163 | | |
2164 | 2164 | | |
2165 | 2165 | | |
| |||
0 commit comments