Commit 1e20c9c
authored
sroa: Handle looking through chains of KeyValue instances (#52369)
Addresses an outstanding todo from the KeyValue PR and allows (once all
the PRs are merged), optimization when multiple ScopedValues are used
`with(a=>1, b=>2)`, etc. To facilitate this, in addition to the sroa
adjustment, the ScopedValue code is adjusted to unroll the
PersistentDict creation so that the optimizer can see the full chain (we
do not support loops in the optimizer).1 parent 727142a commit 1e20c9c
File tree
3 files changed
+48
-34
lines changed- base
- compiler/ssair
- test/compiler
3 files changed
+48
-34
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
866 | 866 | | |
867 | 867 | | |
868 | 868 | | |
869 | | - | |
870 | | - | |
871 | | - | |
872 | | - | |
873 | | - | |
874 | | - | |
875 | | - | |
876 | | - | |
877 | | - | |
878 | | - | |
879 | | - | |
880 | | - | |
881 | | - | |
882 | | - | |
883 | | - | |
884 | | - | |
885 | | - | |
886 | | - | |
887 | | - | |
888 | | - | |
889 | | - | |
890 | | - | |
891 | | - | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
892 | 896 | | |
893 | 897 | | |
894 | | - | |
895 | | - | |
896 | 898 | | |
| 899 | + | |
897 | 900 | | |
898 | | - | |
899 | 901 | | |
900 | 902 | | |
901 | 903 | | |
| |||
919 | 921 | | |
920 | 922 | | |
921 | 923 | | |
922 | | - | |
| 924 | + | |
923 | 925 | | |
924 | 926 | | |
925 | | - | |
926 | | - | |
| 927 | + | |
| 928 | + | |
927 | 929 | | |
928 | 930 | | |
929 | 931 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
78 | 81 | | |
79 | 82 | | |
80 | 83 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1549 | 1549 | | |
1550 | 1550 | | |
1551 | 1551 | | |
| 1552 | + | |
1552 | 1553 | | |
1553 | 1554 | | |
1554 | 1555 | | |
1555 | 1556 | | |
1556 | 1557 | | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
1557 | 1566 | | |
1558 | 1567 | | |
1559 | 1568 | | |
| |||
0 commit comments