Commit 518524d
authored
Rollup merge of #35114 - michaelwoerister:inline-meta-to-hir-map, r=eddyb
Move caching of inlined HIR into CrateStore
So far we've had separate HIR-inlining caches for each codegen unit and the caching for things inlined during constant evaluation had some holes. Consequently, things would be inlined multiple times if they were used from different codegen units, etc, leading to
- wasted memory,
- multiple `NodeId`s per `DefId` and,
- for things inlined during constant evaluation, no way to map a `NodeId` back to it's original `DefId`.
This PR moves all caching into the CrateStore, solving all of the above problems. It also fixes some bugs in the inlining code, like cyclic in the parent-chains in the HIR map and some `NodeId`'s being translated to more or less random values. There are assertions in place now that should prevent this kind of thing in the future.
This PR based on top of #35090, which contains some necessary fixes.File tree
17 files changed
+335
-175
lines changed- src
- librustc_const_eval
- librustc_metadata
- librustc_trans
- debuginfo
- librustc_typeck
- librustc
- hir
- map
- middle
- librustdoc/clean
17 files changed
+335
-175
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
867 | 867 | | |
868 | 868 | | |
869 | 869 | | |
870 | | - | |
| 870 | + | |
871 | 871 | | |
872 | 872 | | |
873 | 873 | | |
| |||
893 | 893 | | |
894 | 894 | | |
895 | 895 | | |
| 896 | + | |
896 | 897 | | |
897 | 898 | | |
898 | 899 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
127 | 128 | | |
128 | 129 | | |
129 | 130 | | |
130 | | - | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
131 | 135 | | |
132 | 136 | | |
133 | 137 | | |
| |||
196 | 200 | | |
197 | 201 | | |
198 | 202 | | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
199 | 207 | | |
200 | 208 | | |
201 | 209 | | |
| |||
550 | 558 | | |
551 | 559 | | |
552 | 560 | | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
553 | 568 | | |
554 | 569 | | |
555 | 570 | | |
| |||
649 | 664 | | |
650 | 665 | | |
651 | 666 | | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
652 | 671 | | |
653 | 672 | | |
654 | 673 | | |
| |||
765 | 784 | | |
766 | 785 | | |
767 | 786 | | |
768 | | - | |
769 | | - | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
770 | 808 | | |
771 | 809 | | |
772 | 810 | | |
773 | 811 | | |
774 | | - | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
775 | 818 | | |
776 | 819 | | |
777 | 820 | | |
| |||
802 | 845 | | |
803 | 846 | | |
804 | 847 | | |
| 848 | + | |
| 849 | + | |
805 | 850 | | |
806 | 851 | | |
807 | 852 | | |
808 | 853 | | |
809 | 854 | | |
| 855 | + | |
810 | 856 | | |
811 | 857 | | |
812 | 858 | | |
| |||
818 | 864 | | |
819 | 865 | | |
820 | 866 | | |
821 | | - | |
| 867 | + | |
822 | 868 | | |
823 | 869 | | |
824 | 870 | | |
| |||
835 | 881 | | |
836 | 882 | | |
837 | 883 | | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
838 | 890 | | |
839 | 891 | | |
840 | 892 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | 123 | | |
130 | 124 | | |
131 | 125 | | |
| |||
250 | 244 | | |
251 | 245 | | |
252 | 246 | | |
253 | | - | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
254 | 251 | | |
255 | 252 | | |
256 | 253 | | |
| |||
447 | 444 | | |
448 | 445 | | |
449 | 446 | | |
450 | | - | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
451 | 457 | | |
452 | 458 | | |
453 | 459 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | | - | |
| 145 | + | |
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
166 | | - | |
| 166 | + | |
167 | 167 | | |
168 | 168 | | |
169 | 169 | | |
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
201 | | - | |
202 | | - | |
| 201 | + | |
| 202 | + | |
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
| 91 | + | |
92 | 92 | | |
| 93 | + | |
93 | 94 | | |
94 | 95 | | |
95 | 96 | | |
| |||
186 | 187 | | |
187 | 188 | | |
188 | 189 | | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
189 | 194 | | |
190 | 195 | | |
191 | 196 | | |
| |||
279 | 284 | | |
280 | 285 | | |
281 | 286 | | |
282 | | - | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
283 | 290 | | |
284 | 291 | | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
285 | 304 | | |
286 | 305 | | |
287 | 306 | | |
| |||
322 | 341 | | |
323 | 342 | | |
324 | 343 | | |
325 | | - | |
326 | | - | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
327 | 348 | | |
328 | | - | |
| 349 | + | |
329 | 350 | | |
330 | 351 | | |
331 | 352 | | |
| |||
339 | 360 | | |
340 | 361 | | |
341 | 362 | | |
342 | | - | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
343 | 366 | | |
344 | 367 | | |
345 | 368 | | |
| |||
361 | 384 | | |
362 | 385 | | |
363 | 386 | | |
364 | | - | |
365 | | - | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
366 | 399 | | |
367 | 400 | | |
368 | 401 | | |
| |||
1361 | 1394 | | |
1362 | 1395 | | |
1363 | 1396 | | |
1364 | | - | |
| 1397 | + | |
1365 | 1398 | | |
1366 | 1399 | | |
1367 | 1400 | | |
| |||
0 commit comments