Commit 9570263
committed
[MoveOnlyAddressChecker] Fix repr for reinits.
The address checker records instructions that reinit fields in its
reinitInsts map. Previously, that map mapped from an instruction to a
range of fields of the type. But an instruction can use multiple
discontiguous fields of a single value. (Indeed an attempt to add a
second range that was reinit'd by an already reinit'ing
instruction--even if it were overlapping or adjacent--would have no
effect and the map wouldn't be updated.) Here, this is fixed by fixing
the representation and updating the storage whenver a new range is seen
to be reinit'd by the instruction. As in
#66728 , a SmallBitVector is the
representation chosen.
rdar://1113562511 parent 721617d commit 9570263
File tree
2 files changed
+64
-10
lines changed- lib/SILOptimizer/Mandatory
- test/SILOptimizer
2 files changed
+64
-10
lines changedLines changed: 21 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
626 | 626 | | |
627 | 627 | | |
628 | 628 | | |
629 | | - | |
| 629 | + | |
630 | 630 | | |
631 | 631 | | |
632 | 632 | | |
| |||
671 | 671 | | |
672 | 672 | | |
673 | 673 | | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
674 | 684 | | |
675 | 685 | | |
676 | 686 | | |
| |||
778 | 788 | | |
779 | 789 | | |
780 | 790 | | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
781 | 796 | | |
782 | 797 | | |
783 | 798 | | |
| |||
842 | 857 | | |
843 | 858 | | |
844 | 859 | | |
845 | | - | |
| 860 | + | |
846 | 861 | | |
847 | 862 | | |
848 | 863 | | |
| |||
867 | 882 | | |
868 | 883 | | |
869 | 884 | | |
870 | | - | |
| 885 | + | |
871 | 886 | | |
872 | 887 | | |
873 | 888 | | |
| |||
1744 | 1759 | | |
1745 | 1760 | | |
1746 | 1761 | | |
1747 | | - | |
1748 | 1762 | | |
1749 | 1763 | | |
1750 | 1764 | | |
1751 | | - | |
| 1765 | + | |
1752 | 1766 | | |
1753 | 1767 | | |
1754 | 1768 | | |
| |||
2733 | 2747 | | |
2734 | 2748 | | |
2735 | 2749 | | |
2736 | | - | |
2737 | | - | |
2738 | | - | |
| 2750 | + | |
2739 | 2751 | | |
2740 | 2752 | | |
2741 | 2753 | | |
| |||
2926 | 2938 | | |
2927 | 2939 | | |
2928 | 2940 | | |
2929 | | - | |
| 2941 | + | |
2930 | 2942 | | |
2931 | 2943 | | |
2932 | 2944 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
0 commit comments