This repository was archived by the owner on May 28, 2025. It is now read-only.
Commit 77f7e0d
committed
Auto merge of rust-lang#141326 - tage64:horatio, r=<try>
[experimental, do not merge!] a faster implementation of Polonius
This is an experiment to use a more lazy approach to Polonius by only invoking the
location-sensitive analysis when needed and using NLL otherwise. This means all programs that
currently compile will still use NLL for borrow checking, and the experimental location-sensitive
analysis will only be triggered if NLL encounters an invalid access. The idea is that it should not affect
performance significantly for existing programs that compile with NLL. However, it still alters the
computation of active loans in rustc_borrowck, and I want a perf run to measure the performance
impact. I expect a slight regression but hopefully not so much.
r? lqdFile tree
27 files changed
+2720
-447
lines changed- compiler
- rustc_borrowck/src
- diagnostics
- polonius
- horatio
- region_infer
- type_check
- liveness
- rustc_index/src
- rustc_middle/src
- mir
- ty
- rustc_mir_dataflow/src
- framework
- src/tools/compiletest/src
27 files changed
+2720
-447
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
1 | 2 | | |
2 | 3 | | |
3 | 4 | | |
| |||
84 | 85 | | |
85 | 86 | | |
86 | 87 | | |
| 88 | + | |
87 | 89 | | |
88 | 90 | | |
89 | 91 | | |
| |||
261 | 263 | | |
262 | 264 | | |
263 | 265 | | |
| 266 | + | |
264 | 267 | | |
265 | 268 | | |
266 | 269 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
| 304 | + | |
304 | 305 | | |
305 | 306 | | |
306 | 307 | | |
| |||
476 | 477 | | |
477 | 478 | | |
478 | 479 | | |
479 | | - | |
| 480 | + | |
480 | 481 | | |
481 | 482 | | |
482 | 483 | | |
483 | 484 | | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
484 | 492 | | |
485 | 493 | | |
486 | 494 | | |
| |||
563 | 571 | | |
564 | 572 | | |
565 | 573 | | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
566 | 578 | | |
567 | 579 | | |
568 | 580 | | |
| |||
578 | 590 | | |
579 | 591 | | |
580 | 592 | | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
581 | 597 | | |
582 | 598 | | |
583 | 599 | | |
| |||
587 | 603 | | |
588 | 604 | | |
589 | 605 | | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
590 | 610 | | |
591 | 611 | | |
592 | 612 | | |
| |||
636 | 656 | | |
637 | 657 | | |
638 | 658 | | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
639 | 663 | | |
640 | 664 | | |
641 | 665 | | |
| |||
645 | 669 | | |
646 | 670 | | |
647 | 671 | | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
648 | 676 | | |
649 | 677 | | |
650 | 678 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
632 | 632 | | |
633 | 633 | | |
634 | 634 | | |
635 | | - | |
636 | | - | |
| 635 | + | |
| 636 | + | |
637 | 637 | | |
638 | 638 | | |
639 | 639 | | |
| |||
0 commit comments