Commit 5238395
authored
[DAG] Replace DAGCombiner::ConstantFoldBITCASTofBUILD_VECTOR with SelectionDAG::FoldConstantBuildVector (llvm#147037)
DAGCombiner can already constant fold build vectors of constants/undefs
to a new vector type, but it has to be incredibly careful after
legalization to not affect a target's canonicalized constants.
This patch proposes we move the implementation inside SelectionDAG to
make it easier for targets to manually use the constant folding whenever
it deems it safe to do so.
I've also altered the method to take the BuildVectorSDNode input
directly and consistently use the same SDLoc.1 parent 465f2b0 commit 5238395
File tree
4 files changed
+84
-85
lines changed- llvm
- include/llvm/CodeGen
- lib/CodeGen/SelectionDAG
- test/CodeGen/AMDGPU
4 files changed
+84
-85
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2030 | 2030 | | |
2031 | 2031 | | |
2032 | 2032 | | |
| 2033 | + | |
| 2034 | + | |
| 2035 | + | |
| 2036 | + | |
| 2037 | + | |
2033 | 2038 | | |
2034 | 2039 | | |
2035 | 2040 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
638 | 638 | | |
639 | 639 | | |
640 | 640 | | |
641 | | - | |
642 | 641 | | |
643 | 642 | | |
644 | 643 | | |
| |||
16431 | 16430 | | |
16432 | 16431 | | |
16433 | 16432 | | |
16434 | | - | |
16435 | | - | |
| 16433 | + | |
| 16434 | + | |
16436 | 16435 | | |
16437 | 16436 | | |
16438 | 16437 | | |
| |||
16825 | 16824 | | |
16826 | 16825 | | |
16827 | 16826 | | |
16828 | | - | |
16829 | | - | |
16830 | | - | |
16831 | | - | |
16832 | | - | |
16833 | | - | |
16834 | | - | |
16835 | | - | |
16836 | | - | |
16837 | | - | |
16838 | | - | |
16839 | | - | |
16840 | | - | |
16841 | | - | |
16842 | | - | |
16843 | | - | |
16844 | | - | |
16845 | | - | |
16846 | | - | |
16847 | | - | |
16848 | | - | |
16849 | | - | |
16850 | | - | |
16851 | | - | |
16852 | | - | |
16853 | | - | |
16854 | | - | |
16855 | | - | |
16856 | | - | |
16857 | | - | |
16858 | | - | |
16859 | | - | |
16860 | | - | |
16861 | | - | |
16862 | | - | |
16863 | | - | |
16864 | | - | |
16865 | | - | |
16866 | | - | |
16867 | | - | |
16868 | | - | |
16869 | | - | |
16870 | | - | |
16871 | | - | |
16872 | | - | |
16873 | | - | |
16874 | | - | |
16875 | | - | |
16876 | | - | |
16877 | | - | |
16878 | | - | |
16879 | | - | |
16880 | | - | |
16881 | | - | |
16882 | | - | |
16883 | | - | |
16884 | | - | |
16885 | | - | |
16886 | | - | |
16887 | | - | |
16888 | | - | |
16889 | | - | |
16890 | | - | |
16891 | | - | |
16892 | | - | |
16893 | | - | |
16894 | | - | |
16895 | | - | |
16896 | | - | |
16897 | | - | |
16898 | | - | |
16899 | | - | |
16900 | | - | |
16901 | | - | |
16902 | | - | |
16903 | | - | |
16904 | | - | |
16905 | 16827 | | |
16906 | 16828 | | |
16907 | 16829 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7280 | 7280 | | |
7281 | 7281 | | |
7282 | 7282 | | |
| 7283 | + | |
| 7284 | + | |
| 7285 | + | |
| 7286 | + | |
| 7287 | + | |
| 7288 | + | |
| 7289 | + | |
| 7290 | + | |
| 7291 | + | |
| 7292 | + | |
| 7293 | + | |
| 7294 | + | |
| 7295 | + | |
| 7296 | + | |
| 7297 | + | |
| 7298 | + | |
| 7299 | + | |
| 7300 | + | |
| 7301 | + | |
| 7302 | + | |
| 7303 | + | |
| 7304 | + | |
| 7305 | + | |
| 7306 | + | |
| 7307 | + | |
| 7308 | + | |
| 7309 | + | |
| 7310 | + | |
| 7311 | + | |
| 7312 | + | |
| 7313 | + | |
| 7314 | + | |
| 7315 | + | |
| 7316 | + | |
| 7317 | + | |
| 7318 | + | |
| 7319 | + | |
| 7320 | + | |
| 7321 | + | |
| 7322 | + | |
| 7323 | + | |
| 7324 | + | |
| 7325 | + | |
| 7326 | + | |
| 7327 | + | |
| 7328 | + | |
| 7329 | + | |
| 7330 | + | |
| 7331 | + | |
| 7332 | + | |
| 7333 | + | |
| 7334 | + | |
| 7335 | + | |
| 7336 | + | |
| 7337 | + | |
| 7338 | + | |
| 7339 | + | |
| 7340 | + | |
| 7341 | + | |
| 7342 | + | |
| 7343 | + | |
| 7344 | + | |
| 7345 | + | |
| 7346 | + | |
| 7347 | + | |
| 7348 | + | |
| 7349 | + | |
| 7350 | + | |
| 7351 | + | |
| 7352 | + | |
| 7353 | + | |
| 7354 | + | |
7283 | 7355 | | |
7284 | 7356 | | |
7285 | 7357 | | |
| |||
Lines changed: 5 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | | - | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | | - | |
19 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
29 | | - | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
0 commit comments