Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork3k
Commit32f57e4
authored
[mypyc] Add SetElement op for initializing struct values (#19437)
Also add Undef value type that can currently only used as theoperand for SetElement to signify that we are creating a newvalue instead of modifying an existing value.A new struct value can be created by starting with Undef andsetting each element sequentially. Each operation produces anew struct value, but the temporaries will be optimized awayin the later passes (currently by the C compiler, but we coulddo something more clever here in the future).This is needed to support packed arrays, which are representedas structs. I extracted this from my packed array branch, and it's currently unused outside tests.1 parentc66417d commit32f57e4
File tree
9 files changed
+137
-4
lines changed- mypyc
- analysis
- codegen
- ir
- test
- transform
9 files changed
+137
-4
lines changedLines changed: 6 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
45 | 45 |
| |
46 | 46 |
| |
47 | 47 |
| |
| 48 | + | |
48 | 49 |
| |
49 | 50 |
| |
50 | 51 |
| |
51 | 52 |
| |
52 | 53 |
| |
53 | 54 |
| |
| 55 | + | |
54 | 56 |
| |
55 | 57 |
| |
56 | 58 |
| |
| |||
272 | 274 |
| |
273 | 275 |
| |
274 | 276 |
| |
| 277 | + | |
| 278 | + | |
| 279 | + | |
275 | 280 |
| |
276 | 281 |
| |
277 | 282 |
| |
| |||
444 | 449 |
| |
445 | 450 |
| |
446 | 451 |
| |
447 |
| - | |
| 452 | + | |
448 | 453 |
| |
449 | 454 |
| |
450 | 455 |
| |
|
Lines changed: 7 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
17 | 17 |
| |
18 | 18 |
| |
19 | 19 |
| |
| 20 | + | |
20 | 21 |
| |
21 | 22 |
| |
22 | 23 |
| |
| |||
42 | 43 |
| |
43 | 44 |
| |
44 | 45 |
| |
| 46 | + | |
45 | 47 |
| |
46 | 48 |
| |
47 | 49 |
| |
48 | 50 |
| |
49 | 51 |
| |
50 | 52 |
| |
| 53 | + | |
51 | 54 |
| |
52 | 55 |
| |
53 | 56 |
| |
| |||
148 | 151 |
| |
149 | 152 |
| |
150 | 153 |
| |
151 |
| - | |
| 154 | + | |
152 | 155 |
| |
153 | 156 |
| |
154 | 157 |
| |
| |||
423 | 426 |
| |
424 | 427 |
| |
425 | 428 |
| |
| 429 | + | |
| 430 | + | |
| 431 | + | |
426 | 432 |
| |
427 | 433 |
| |
428 | 434 |
| |
|
Lines changed: 4 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
35 | 35 |
| |
36 | 36 |
| |
37 | 37 |
| |
| 38 | + | |
38 | 39 |
| |
39 | 40 |
| |
40 | 41 |
| |
| |||
181 | 182 |
| |
182 | 183 |
| |
183 | 184 |
| |
| 185 | + | |
| 186 | + | |
| 187 | + | |
184 | 188 |
| |
185 | 189 |
| |
186 | 190 |
| |
|
Lines changed: 27 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
70 | 70 |
| |
71 | 71 |
| |
72 | 72 |
| |
| 73 | + | |
73 | 74 |
| |
74 | 75 |
| |
75 | 76 |
| |
76 | 77 |
| |
77 | 78 |
| |
78 | 79 |
| |
| 80 | + | |
79 | 81 |
| |
80 | 82 |
| |
81 | 83 |
| |
| |||
813 | 815 |
| |
814 | 816 |
| |
815 | 817 |
| |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
816 | 843 |
| |
817 | 844 |
| |
818 | 845 |
| |
|
Lines changed: 58 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
34 | 34 |
| |
35 | 35 |
| |
36 | 36 |
| |
| 37 | + | |
37 | 38 |
| |
38 | 39 |
| |
39 | 40 |
| |
| |||
244 | 245 |
| |
245 | 246 |
| |
246 | 247 |
| |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
247 | 268 |
| |
248 | 269 |
| |
249 | 270 |
| |
| |||
1636 | 1657 |
| |
1637 | 1658 |
| |
1638 | 1659 |
| |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
| 1663 | + | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
| 1690 | + | |
| 1691 | + | |
| 1692 | + | |
1639 | 1693 |
| |
1640 | 1694 |
| |
1641 | 1695 |
| |
| |||
1908 | 1962 |
| |
1909 | 1963 |
| |
1910 | 1964 |
| |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
1911 | 1969 |
| |
1912 | 1970 |
| |
1913 | 1971 |
| |
|
Lines changed: 8 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
50 | 50 |
| |
51 | 51 |
| |
52 | 52 |
| |
| 53 | + | |
53 | 54 |
| |
54 | 55 |
| |
55 | 56 |
| |
56 | 57 |
| |
57 | 58 |
| |
58 | 59 |
| |
| 60 | + | |
59 | 61 |
| |
60 | 62 |
| |
61 | 63 |
| |
| |||
273 | 275 |
| |
274 | 276 |
| |
275 | 277 |
| |
| 278 | + | |
| 279 | + | |
| 280 | + | |
276 | 281 |
| |
277 | 282 |
| |
278 | 283 |
| |
| |||
330 | 335 |
| |
331 | 336 |
| |
332 | 337 |
| |
| 338 | + | |
| 339 | + | |
333 | 340 |
| |
334 | 341 |
| |
335 | 342 |
| |
| |||
486 | 493 |
| |
487 | 494 |
| |
488 | 495 |
| |
489 |
| - | |
| 496 | + | |
490 | 497 |
| |
491 | 498 |
| |
492 | 499 |
| |
|
Lines changed: 18 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
35 | 35 |
| |
36 | 36 |
| |
37 | 37 |
| |
| 38 | + | |
38 | 39 |
| |
39 | 40 |
| |
40 | 41 |
| |
| 42 | + | |
41 | 43 |
| |
42 | 44 |
| |
43 | 45 |
| |
| |||
121 | 123 |
| |
122 | 124 |
| |
123 | 125 |
| |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
124 | 131 |
| |
125 | 132 |
| |
126 | 133 |
| |
| |||
674 | 681 |
| |
675 | 682 |
| |
676 | 683 |
| |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
677 | 695 |
| |
678 | 696 |
| |
679 | 697 |
| |
|
Lines changed: 7 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
39 | 39 |
| |
40 | 40 |
| |
41 | 41 |
| |
| 42 | + | |
42 | 43 |
| |
43 | 44 |
| |
44 | 45 |
| |
| |||
214 | 215 |
| |
215 | 216 |
| |
216 | 217 |
| |
| 218 | + | |
| 219 | + | |
| 220 | + | |
217 | 221 |
| |
218 | 222 |
| |
219 | 223 |
| |
| |||
354 | 358 |
| |
355 | 359 |
| |
356 | 360 |
| |
| 361 | + | |
| 362 | + | |
| 363 | + | |
357 | 364 |
| |
358 | 365 |
| |
359 | 366 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
43 | 43 |
| |
44 | 44 |
| |
45 | 45 |
| |
| 46 | + | |
46 | 47 |
| |
47 | 48 |
| |
48 | 49 |
| |
| |||
94 | 95 |
| |
95 | 96 |
| |
96 | 97 |
| |
97 |
| - | |
| 98 | + | |
98 | 99 |
| |
99 | 100 |
| |
100 | 101 |
| |
|
0 commit comments
Comments
(0)