Commit 14bfeb6
committed
[DAG] Replace DAGCombiner::ConstantFoldBITCASTofBUILD_VECTOR with SelectionDAG::FoldConstantBuildVector
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.1 parent 0437895 commit 14bfeb6
File tree
4 files changed
+83
-85
lines changed- llvm
- include/llvm/CodeGen
- lib/CodeGen/SelectionDAG
- test/CodeGen/AMDGPU
4 files changed
+83
-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 | | |
| |||
16424 | 16423 | | |
16425 | 16424 | | |
16426 | 16425 | | |
16427 | | - | |
16428 | | - | |
| 16426 | + | |
| 16427 | + | |
16429 | 16428 | | |
16430 | 16429 | | |
16431 | 16430 | | |
| |||
16818 | 16817 | | |
16819 | 16818 | | |
16820 | 16819 | | |
16821 | | - | |
16822 | | - | |
16823 | | - | |
16824 | | - | |
16825 | | - | |
16826 | | - | |
16827 | | - | |
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 | 16820 | | |
16899 | 16821 | | |
16900 | 16822 | | |
| |||
| 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 | + | |
7283 | 7354 | | |
7284 | 7355 | | |
7285 | 7356 | | |
| |||
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