Commit 9062cf4
[dart2js] Improve DominatedUses.replaceWith
When the instruction being replaced has many uses, it is beneficial to update them together, rather than one at a time.
Also:
- Make value_range_analyer output intermediate state for `--dump-ssa`.
- Remove bounds checks all together at end of range analysis.
- Don't add RangeConversion for the length when the length is a constant.
Compiling a method with 5000 assignments of the form `a[N] = N;` is reduced 20x, from 123 seconds to 6 seconds.
Bug: #56919
Change-Id: I9ca7b41ca156ee40b96cfed9e18369662053b3b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/390824
Reviewed-by: Nate Biggs <[email protected]>
Commit-Queue: Stephen Adams <[email protected]>1 parent 88ae929 commit 9062cf4
File tree
4 files changed
+106
-35
lines changed- pkg/compiler/lib/src/ssa
4 files changed
+106
-35
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1138 | 1138 | | |
1139 | 1139 | | |
1140 | 1140 | | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
1141 | 1149 | | |
1142 | 1150 | | |
1143 | 1151 | | |
| |||
1503 | 1511 | | |
1504 | 1512 | | |
1505 | 1513 | | |
1506 | | - | |
1507 | | - | |
1508 | | - | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
1509 | 1518 | | |
| 1519 | + | |
1510 | 1520 | | |
1511 | 1521 | | |
1512 | 1522 | | |
1513 | | - | |
1514 | 1523 | | |
1515 | | - | |
| 1524 | + | |
1516 | 1525 | | |
1517 | | - | |
1518 | | - | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
1519 | 1571 | | |
1520 | 1572 | | |
1521 | 1573 | | |
| |||
1532 | 1584 | | |
1533 | 1585 | | |
1534 | 1586 | | |
| 1587 | + | |
| 1588 | + | |
1535 | 1589 | | |
1536 | | - | |
| 1590 | + | |
1537 | 1591 | | |
1538 | 1592 | | |
1539 | | - | |
| 1593 | + | |
1540 | 1594 | | |
1541 | 1595 | | |
1542 | 1596 | | |
| |||
1547 | 1601 | | |
1548 | 1602 | | |
1549 | 1603 | | |
1550 | | - | |
| 1604 | + | |
| 1605 | + | |
| 1606 | + | |
| 1607 | + | |
| 1608 | + | |
| 1609 | + | |
| 1610 | + | |
| 1611 | + | |
1551 | 1612 | | |
1552 | | - | |
1553 | 1613 | | |
1554 | 1614 | | |
1555 | 1615 | | |
| |||
1565 | 1625 | | |
1566 | 1626 | | |
1567 | 1627 | | |
1568 | | - | |
1569 | | - | |
1570 | | - | |
1571 | | - | |
1572 | | - | |
1573 | | - | |
1574 | | - | |
1575 | | - | |
1576 | | - | |
1577 | | - | |
1578 | | - | |
1579 | 1628 | | |
1580 | 1629 | | |
1581 | | - | |
| 1630 | + | |
1582 | 1631 | | |
1583 | 1632 | | |
1584 | 1633 | | |
1585 | 1634 | | |
1586 | | - | |
| 1635 | + | |
1587 | 1636 | | |
1588 | 1637 | | |
1589 | 1638 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
135 | | - | |
| 135 | + | |
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
159 | | - | |
| 159 | + | |
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
245 | | - | |
| 245 | + | |
| 246 | + | |
246 | 247 | | |
247 | 248 | | |
248 | 249 | | |
| |||
713 | 714 | | |
714 | 715 | | |
715 | 716 | | |
716 | | - | |
| 717 | + | |
| 718 | + | |
717 | 719 | | |
718 | 720 | | |
719 | 721 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
720 | 721 | | |
721 | 722 | | |
722 | 723 | | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
723 | 727 | | |
724 | 728 | | |
725 | 729 | | |
726 | 730 | | |
727 | 731 | | |
728 | 732 | | |
729 | 733 | | |
| 734 | + | |
730 | 735 | | |
731 | 736 | | |
732 | 737 | | |
733 | | - | |
| 738 | + | |
734 | 739 | | |
735 | 740 | | |
736 | 741 | | |
| |||
740 | 745 | | |
741 | 746 | | |
742 | 747 | | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
743 | 753 | | |
744 | 754 | | |
745 | 755 | | |
746 | 756 | | |
| 757 | + | |
747 | 758 | | |
748 | 759 | | |
749 | 760 | | |
750 | 761 | | |
751 | 762 | | |
752 | 763 | | |
753 | 764 | | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
754 | 775 | | |
755 | | - | |
| 776 | + | |
756 | 777 | | |
757 | 778 | | |
758 | 779 | | |
759 | | - | |
| 780 | + | |
760 | 781 | | |
761 | 782 | | |
762 | 783 | | |
| |||
867 | 888 | | |
868 | 889 | | |
869 | 890 | | |
| 891 | + | |
870 | 892 | | |
871 | 893 | | |
872 | 894 | | |
| |||
899 | 921 | | |
900 | 922 | | |
901 | 923 | | |
902 | | - | |
903 | | - | |
904 | | - | |
| 924 | + | |
905 | 925 | | |
906 | 926 | | |
907 | 927 | | |
| |||
917 | 937 | | |
918 | 938 | | |
919 | 939 | | |
920 | | - | |
| 940 | + | |
921 | 941 | | |
922 | 942 | | |
923 | 943 | | |
| |||
0 commit comments