This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Commit a10b0d8
[vm/compiler] LICM and CSE improvements
Several improvements
(1) makes implicit control dependence of a null check
explicit by means of data dependence (already
done for bounds checks); also see the doc in
runtime/docs/compiler/data_dep_for_control_dep.md
(2) improves CSE properties of various IL nodes
(3) allows LICM on invariant code that may-throw
as long as the visible behavior is preserved
dart-lang/sdk#35323
dart-lang/sdk#34684
Change-Id: Icb4520a649da38eddc3d7c85af21427d3c64d22e
Reviewed-on: https://dart-review.googlesource.com/c/93822
Commit-Queue: Aart Bik <[email protected]>
Reviewed-by: Martin Kustermann <[email protected]>
Reviewed-by: Alexander Markov <[email protected]>1 parent ff6f61c commit a10b0d8
File tree
10 files changed
+713
-53
lines changed- runtime/vm/compiler/backend
- tests/language_2
10 files changed
+713
-53
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
267 | 267 | | |
268 | 268 | | |
269 | 269 | | |
270 | | - | |
271 | | - | |
272 | 270 | | |
273 | 271 | | |
274 | 272 | | |
| |||
354 | 352 | | |
355 | 353 | | |
356 | 354 | | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
357 | 362 | | |
358 | 363 | | |
359 | 364 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1561 | 1561 | | |
1562 | 1562 | | |
1563 | 1563 | | |
1564 | | - | |
| 1564 | + | |
1565 | 1565 | | |
1566 | 1566 | | |
1567 | 1567 | | |
| |||
1581 | 1581 | | |
1582 | 1582 | | |
1583 | 1583 | | |
1584 | | - | |
1585 | | - | |
| 1584 | + | |
1586 | 1585 | | |
1587 | 1586 | | |
1588 | 1587 | | |
1589 | 1588 | | |
1590 | | - | |
1591 | | - | |
| 1589 | + | |
1592 | 1590 | | |
1593 | 1591 | | |
1594 | | - | |
1595 | | - | |
| 1592 | + | |
1596 | 1593 | | |
1597 | 1594 | | |
| 1595 | + | |
| 1596 | + | |
| 1597 | + | |
1598 | 1598 | | |
1599 | 1599 | | |
1600 | 1600 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
501 | 501 | | |
502 | 502 | | |
503 | 503 | | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
512 | 515 | | |
513 | | - | |
| 516 | + | |
514 | 517 | | |
515 | 518 | | |
516 | 519 | | |
| |||
3455 | 3458 | | |
3456 | 3459 | | |
3457 | 3460 | | |
3458 | | - | |
3459 | | - | |
| 3461 | + | |
| 3462 | + | |
3460 | 3463 | | |
3461 | 3464 | | |
3462 | 3465 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7156 | 7156 | | |
7157 | 7157 | | |
7158 | 7158 | | |
7159 | | - | |
| 7159 | + | |
7160 | 7160 | | |
7161 | 7161 | | |
7162 | 7162 | | |
7163 | 7163 | | |
7164 | 7164 | | |
7165 | | - | |
| 7165 | + | |
7166 | 7166 | | |
7167 | 7167 | | |
7168 | 7168 | | |
| |||
7179 | 7179 | | |
7180 | 7180 | | |
7181 | 7181 | | |
| 7182 | + | |
| 7183 | + | |
| 7184 | + | |
7182 | 7185 | | |
7183 | 7186 | | |
7184 | 7187 | | |
7185 | 7188 | | |
7186 | | - | |
7187 | | - | |
7188 | | - | |
| 7189 | + | |
7189 | 7190 | | |
7190 | 7191 | | |
7191 | 7192 | | |
| |||
7250 | 7251 | | |
7251 | 7252 | | |
7252 | 7253 | | |
| 7254 | + | |
| 7255 | + | |
| 7256 | + | |
7253 | 7257 | | |
7254 | 7258 | | |
7255 | 7259 | | |
| |||
7282 | 7286 | | |
7283 | 7287 | | |
7284 | 7288 | | |
7285 | | - | |
| 7289 | + | |
7286 | 7290 | | |
7287 | 7291 | | |
7288 | 7292 | | |
| |||
7293 | 7297 | | |
7294 | 7298 | | |
7295 | 7299 | | |
7296 | | - | |
| 7300 | + | |
7297 | 7301 | | |
7298 | 7302 | | |
7299 | 7303 | | |
| 7304 | + | |
| 7305 | + | |
| 7306 | + | |
7300 | 7307 | | |
7301 | 7308 | | |
7302 | 7309 | | |
| |||
7356 | 7363 | | |
7357 | 7364 | | |
7358 | 7365 | | |
7359 | | - | |
| 7366 | + | |
7360 | 7367 | | |
7361 | 7368 | | |
7362 | 7369 | | |
| |||
7393 | 7400 | | |
7394 | 7401 | | |
7395 | 7402 | | |
7396 | | - | |
7397 | | - | |
7398 | 7403 | | |
7399 | 7404 | | |
7400 | 7405 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
443 | 443 | | |
444 | 444 | | |
445 | 445 | | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
446 | 450 | | |
447 | 451 | | |
448 | 452 | | |
| |||
774 | 778 | | |
775 | 779 | | |
776 | 780 | | |
| 781 | + | |
777 | 782 | | |
778 | 783 | | |
779 | 784 | | |
| |||
795 | 800 | | |
796 | 801 | | |
797 | 802 | | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
798 | 839 | | |
799 | 840 | | |
800 | 841 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
196 | 199 | | |
197 | 200 | | |
198 | 201 | | |
| |||
220 | 223 | | |
221 | 224 | | |
222 | 225 | | |
| 226 | + | |
223 | 227 | | |
224 | 228 | | |
225 | 229 | | |
| |||
255 | 259 | | |
256 | 260 | | |
257 | 261 | | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
258 | 265 | | |
259 | 266 | | |
260 | 267 | | |
| |||
0 commit comments