Commit d40c915
committed
Fix ownership rauw to not leave behind stale ownership fixup context
Ownership rauw uses a shared ownership fixup context to maintain state.
When ownership rauw fails, due to some invalid condition, we leave
behind stale data in this shared ownership fixup context.
This stale context can indvertantly affect the next rauw on addresses.
In addition to setting the ownership fixup context to nullptr, we
should also clear it so that it's internal data structures are
cleared.1 parent 923c69d commit d40c915
File tree
3 files changed
+52
-10
lines changed- include/swift/SILOptimizer/Utils
- lib/SILOptimizer/Utils
- test/SILOptimizer
3 files changed
+52
-10
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
147 | 152 | | |
148 | 153 | | |
149 | 154 | | |
| |||
175 | 180 | | |
176 | 181 | | |
177 | 182 | | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
178 | 189 | | |
179 | 190 | | |
180 | 191 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
859 | 859 | | |
860 | 860 | | |
861 | 861 | | |
862 | | - | |
| 862 | + | |
863 | 863 | | |
864 | 864 | | |
865 | 865 | | |
| |||
908 | 908 | | |
909 | 909 | | |
910 | 910 | | |
911 | | - | |
912 | | - | |
| 911 | + | |
913 | 912 | | |
914 | 913 | | |
915 | 914 | | |
916 | 915 | | |
917 | 916 | | |
918 | 917 | | |
919 | | - | |
920 | | - | |
| 918 | + | |
921 | 919 | | |
922 | 920 | | |
923 | 921 | | |
| |||
929 | 927 | | |
930 | 928 | | |
931 | 929 | | |
932 | | - | |
| 930 | + | |
933 | 931 | | |
934 | 932 | | |
935 | 933 | | |
936 | 934 | | |
937 | 935 | | |
938 | 936 | | |
939 | 937 | | |
940 | | - | |
941 | | - | |
| 938 | + | |
942 | 939 | | |
943 | 940 | | |
944 | 941 | | |
| |||
1183 | 1180 | | |
1184 | 1181 | | |
1185 | 1182 | | |
1186 | | - | |
| 1183 | + | |
1187 | 1184 | | |
1188 | 1185 | | |
1189 | 1186 | | |
1190 | 1187 | | |
1191 | 1188 | | |
1192 | 1189 | | |
1193 | | - | |
| 1190 | + | |
1194 | 1191 | | |
1195 | 1192 | | |
1196 | 1193 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
859 | 859 | | |
860 | 860 | | |
861 | 861 | | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
0 commit comments