Commit da3fbe7
committed
Auto merge of #45867 - michaelwoerister:check-ich-stability, r=nikomatsakis
incr.comp.: Verify stability of incr. comp. hashes and clean up various other things.
The main contribution of this PR is that it adds the `-Z incremental-verify-ich` functionality. Normally, when the red-green tracking system determines that a certain query result has not changed, it does not re-compute the incr. comp. hash (ICH) for that query result because that hash is already known. `-Z incremental-verify-ich` tells the compiler to re-hash the query result and compare the new hash against the cached hash. This is a rather thorough way of
- testing hashing implementation stability,
- finding missing `[input]` annotations on `DepNodes`, and
- finding missing read-edges,
since both a missed read and a missing `[input]` annotation can lead to something being marked as green instead of red and thus will have a different hash than it should have.
Case in point, implementing this verification logic and activating it for all `src/test/incremental` tests has revealed several such oversights, all of which are fixed in this PR.
r? @nikomatsakisFile tree
21 files changed
+330
-247
lines changed- src
- librustc_metadata
- librustc_trans
- back
- librustc
- dep_graph
- hir
- map
- ich
- middle
- session
- ty/maps
- test/incremental
- hashes
- remove_source_file
- tools/compiletest/src
21 files changed
+330
-247
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
459 | 459 | | |
460 | 460 | | |
461 | 461 | | |
462 | | - | |
463 | | - | |
464 | | - | |
465 | | - | |
466 | 462 | | |
467 | 463 | | |
468 | 464 | | |
| |||
537 | 533 | | |
538 | 534 | | |
539 | 535 | | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | | - | |
548 | | - | |
549 | | - | |
550 | | - | |
551 | | - | |
552 | | - | |
553 | | - | |
554 | | - | |
555 | | - | |
556 | | - | |
557 | | - | |
558 | | - | |
559 | | - | |
560 | | - | |
561 | | - | |
562 | | - | |
563 | | - | |
564 | | - | |
565 | | - | |
566 | | - | |
| 536 | + | |
| 537 | + | |
567 | 538 | | |
568 | 539 | | |
569 | 540 | | |
570 | 541 | | |
571 | | - | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
572 | 549 | | |
573 | 550 | | |
574 | 551 | | |
| |||
588 | 565 | | |
589 | 566 | | |
590 | 567 | | |
591 | | - | |
| 568 | + | |
592 | 569 | | |
593 | 570 | | |
594 | 571 | | |
| |||
598 | 575 | | |
599 | 576 | | |
600 | 577 | | |
601 | | - | |
602 | | - | |
603 | | - | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
604 | 581 | | |
605 | 582 | | |
606 | 583 | | |
607 | 584 | | |
608 | 585 | | |
609 | 586 | | |
610 | 587 | | |
611 | | - | |
| 588 | + | |
612 | 589 | | |
613 | | - | |
614 | | - | |
615 | | - | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
616 | 593 | | |
617 | 594 | | |
618 | 595 | | |
619 | | - | |
| 596 | + | |
620 | 597 | | |
621 | 598 | | |
622 | | - | |
| 599 | + | |
623 | 600 | | |
624 | 601 | | |
625 | 602 | | |
626 | 603 | | |
627 | 604 | | |
628 | 605 | | |
629 | | - | |
630 | | - | |
631 | | - | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
632 | 609 | | |
633 | 610 | | |
634 | 611 | | |
| |||
638 | 615 | | |
639 | 616 | | |
640 | 617 | | |
641 | | - | |
642 | | - | |
| 618 | + | |
| 619 | + | |
643 | 620 | | |
644 | 621 | | |
645 | | - | |
| 622 | + | |
646 | 623 | | |
647 | 624 | | |
648 | 625 | | |
649 | 626 | | |
650 | 627 | | |
651 | 628 | | |
652 | 629 | | |
653 | | - | |
| 630 | + | |
654 | 631 | | |
655 | 632 | | |
656 | 633 | | |
| |||
800 | 777 | | |
801 | 778 | | |
802 | 779 | | |
803 | | - | |
804 | | - | |
805 | | - | |
806 | | - | |
807 | | - | |
808 | | - | |
809 | | - | |
810 | 780 | | |
811 | 781 | | |
812 | 782 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
511 | 511 | | |
512 | 512 | | |
513 | 513 | | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | | - | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
522 | 541 | | |
523 | 542 | | |
524 | | - | |
525 | | - | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | | - | |
531 | | - | |
532 | | - | |
533 | | - | |
534 | | - | |
535 | | - | |
536 | | - | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | | - | |
548 | | - | |
549 | | - | |
550 | | - | |
551 | | - | |
552 | | - | |
553 | | - | |
554 | | - | |
555 | | - | |
556 | | - | |
557 | | - | |
558 | | - | |
559 | | - | |
560 | | - | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
561 | 568 | | |
562 | | - | |
563 | | - | |
564 | | - | |
565 | | - | |
566 | | - | |
567 | 569 | | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
568 | 575 | | |
569 | 576 | | |
570 | 577 | | |
| |||
777 | 784 | | |
778 | 785 | | |
779 | 786 | | |
780 | | - | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
781 | 811 | | |
782 | 812 | | |
783 | 813 | | |
| |||
798 | 828 | | |
799 | 829 | | |
800 | 830 | | |
| 831 | + | |
| 832 | + | |
801 | 833 | | |
802 | 834 | | |
803 | 835 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
838 | 838 | | |
839 | 839 | | |
840 | 840 | | |
841 | | - | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
842 | 845 | | |
843 | 846 | | |
844 | 847 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
416 | 416 | | |
417 | 417 | | |
418 | 418 | | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
419 | 425 | | |
420 | 426 | | |
421 | 427 | | |
| |||
530 | 536 | | |
531 | 537 | | |
532 | 538 | | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
533 | 545 | | |
534 | 546 | | |
535 | 547 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
227 | 227 | | |
228 | 228 | | |
229 | 229 | | |
| 230 | + | |
| 231 | + | |
230 | 232 | | |
231 | 233 | | |
232 | 234 | | |
| |||
237 | 239 | | |
238 | 240 | | |
239 | 241 | | |
240 | | - | |
241 | | - | |
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
| |||
0 commit comments