Commit c949e62
committed
SIL: Lower fields that are conditionally addressable because of a dependency.
Parameters of generic type need to be treated as potentially
addressable-for-dependencies, but we don't want callers using the generic
function with concrete types that are known not to be addressable-for-
dependencies to be overconstrained. In SILFunctionType lowering, lower
these dependencies distinctly as conditionally addressable, meaning that
the dependency on an argument depends on whether the concrete type of
that argument is (potentially) addressable-for-dependencies or not.1 parent da81345 commit c949e62
File tree
6 files changed
+101
-27
lines changed- include/swift/AST
- lib
- AST
- Parse
- SIL/IR
- test
- SILGen
- SIL
6 files changed
+101
-27
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
48 | 54 | | |
49 | 55 | | |
50 | 56 | | |
51 | 57 | | |
52 | 58 | | |
53 | 59 | | |
54 | | - | |
| 60 | + | |
55 | 61 | | |
56 | 62 | | |
57 | 63 | | |
58 | 64 | | |
59 | | - | |
| 65 | + | |
| 66 | + | |
60 | 67 | | |
61 | 68 | | |
62 | 69 | | |
| |||
72 | 79 | | |
73 | 80 | | |
74 | 81 | | |
75 | | - | |
| 82 | + | |
76 | 83 | | |
77 | 84 | | |
78 | 85 | | |
| |||
93 | 100 | | |
94 | 101 | | |
95 | 102 | | |
96 | | - | |
| 103 | + | |
97 | 104 | | |
98 | 105 | | |
99 | 106 | | |
| |||
116 | 123 | | |
117 | 124 | | |
118 | 125 | | |
119 | | - | |
| 126 | + | |
120 | 127 | | |
121 | 128 | | |
122 | | - | |
| 129 | + | |
123 | 130 | | |
124 | 131 | | |
125 | 132 | | |
| |||
216 | 223 | | |
217 | 224 | | |
218 | 225 | | |
| 226 | + | |
| 227 | + | |
219 | 228 | | |
220 | 229 | | |
221 | 230 | | |
| |||
249 | 258 | | |
250 | 259 | | |
251 | 260 | | |
252 | | - | |
| 261 | + | |
| 262 | + | |
253 | 263 | | |
254 | 264 | | |
255 | 265 | | |
| 266 | + | |
256 | 267 | | |
257 | 268 | | |
258 | 269 | | |
259 | 270 | | |
260 | 271 | | |
261 | 272 | | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
262 | 278 | | |
263 | 279 | | |
264 | 280 | | |
| |||
286 | 302 | | |
287 | 303 | | |
288 | 304 | | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
289 | 310 | | |
290 | 311 | | |
291 | 312 | | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
292 | 325 | | |
293 | 326 | | |
294 | 327 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
53 | 54 | | |
54 | 55 | | |
55 | 56 | | |
| |||
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
64 | | - | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
65 | 70 | | |
66 | 71 | | |
67 | 72 | | |
| |||
452 | 457 | | |
453 | 458 | | |
454 | 459 | | |
| 460 | + | |
455 | 461 | | |
456 | 462 | | |
457 | 463 | | |
| |||
494 | 500 | | |
495 | 501 | | |
496 | 502 | | |
497 | | - | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
498 | 511 | | |
| 512 | + | |
499 | 513 | | |
500 | 514 | | |
501 | 515 | | |
| |||
523 | 537 | | |
524 | 538 | | |
525 | 539 | | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
526 | 543 | | |
527 | 544 | | |
528 | 545 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2517 | 2517 | | |
2518 | 2518 | | |
2519 | 2519 | | |
2520 | | - | |
| 2520 | + | |
2521 | 2521 | | |
2522 | 2522 | | |
2523 | 2523 | | |
| |||
2527 | 2527 | | |
2528 | 2528 | | |
2529 | 2529 | | |
2530 | | - | |
| 2530 | + | |
| 2531 | + | |
| 2532 | + | |
2531 | 2533 | | |
2532 | 2534 | | |
2533 | 2535 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1578 | 1578 | | |
1579 | 1579 | | |
1580 | 1580 | | |
| 1581 | + | |
1581 | 1582 | | |
1582 | 1583 | | |
1583 | 1584 | | |
| |||
1593 | 1594 | | |
1594 | 1595 | | |
1595 | 1596 | | |
1596 | | - | |
1597 | | - | |
1598 | | - | |
1599 | | - | |
1600 | | - | |
| 1597 | + | |
| 1598 | + | |
| 1599 | + | |
| 1600 | + | |
| 1601 | + | |
| 1602 | + | |
| 1603 | + | |
1601 | 1604 | | |
1602 | 1605 | | |
1603 | 1606 | | |
| |||
1768 | 1771 | | |
1769 | 1772 | | |
1770 | 1773 | | |
| 1774 | + | |
1771 | 1775 | | |
| 1776 | + | |
1772 | 1777 | | |
1773 | 1778 | | |
1774 | 1779 | | |
| |||
1809 | 1814 | | |
1810 | 1815 | | |
1811 | 1816 | | |
1812 | | - | |
1813 | | - | |
| 1817 | + | |
| 1818 | + | |
1814 | 1819 | | |
1815 | 1820 | | |
1816 | 1821 | | |
| |||
1821 | 1826 | | |
1822 | 1827 | | |
1823 | 1828 | | |
1824 | | - | |
1825 | | - | |
| 1829 | + | |
| 1830 | + | |
1826 | 1831 | | |
1827 | 1832 | | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
1828 | 1837 | | |
1829 | 1838 | | |
1830 | 1839 | | |
| |||
2565 | 2574 | | |
2566 | 2575 | | |
2567 | 2576 | | |
| 2577 | + | |
2568 | 2578 | | |
2569 | 2579 | | |
2570 | 2580 | | |
| |||
2587 | 2597 | | |
2588 | 2598 | | |
2589 | 2599 | | |
2590 | | - | |
| 2600 | + | |
| 2601 | + | |
| 2602 | + | |
2591 | 2603 | | |
2592 | 2604 | | |
2593 | 2605 | | |
| |||
2668 | 2680 | | |
2669 | 2681 | | |
2670 | 2682 | | |
| 2683 | + | |
| 2684 | + | |
| 2685 | + | |
| 2686 | + | |
| 2687 | + | |
| 2688 | + | |
| 2689 | + | |
2671 | 2690 | | |
2672 | 2691 | | |
2673 | 2692 | | |
2674 | 2693 | | |
2675 | | - | |
| 2694 | + | |
| 2695 | + | |
2676 | 2696 | | |
2677 | 2697 | | |
2678 | 2698 | | |
| |||
2759 | 2779 | | |
2760 | 2780 | | |
2761 | 2781 | | |
| 2782 | + | |
2762 | 2783 | | |
2763 | 2784 | | |
2764 | 2785 | | |
2765 | | - | |
| 2786 | + | |
| 2787 | + | |
2766 | 2788 | | |
2767 | 2789 | | |
2768 | 2790 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
| 100 | + | |
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| |||
0 commit comments