Commit a485d97
committed
[region-isolation] Allow for unapplied isolated parameter ownership.
Given a function or a partial_apply with an isolated parameter, we do not know
immediately what the actual isolation is of the function or partial_apply since
we do not know which instance will be applied to the function or partial_apply.
In this commit, I introduce a new bit into SILIsolationInfo that tracks this
information upon construction and allows for it to merge with ownership that has
the appropriate type and a specific instance. Since the values that created the
two isolations, will be in the same region this should ensure that the value is
only ever in a flow sensitive manner in a region with only one actor instance
(since regions with isolations with differing actor instances are illegal).
(cherry picked from commit 0c25480)1 parent e14d3a3 commit a485d97
File tree
3 files changed
+135
-55
lines changed- include/swift/SILOptimizer/Utils
- lib/SILOptimizer
- Analysis
- Utils
3 files changed
+135
-55
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
117 | 121 | | |
118 | 122 | | |
119 | 123 | | |
| |||
128 | 132 | | |
129 | 133 | | |
130 | 134 | | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
131 | 149 | | |
132 | 150 | | |
133 | 151 | | |
| |||
142 | 160 | | |
143 | 161 | | |
144 | 162 | | |
145 | | - | |
| 163 | + | |
146 | 164 | | |
147 | 165 | | |
148 | | - | |
| 166 | + | |
149 | 167 | | |
150 | 168 | | |
151 | | - | |
| 169 | + | |
152 | 170 | | |
153 | 171 | | |
154 | 172 | | |
| |||
159 | 177 | | |
160 | 178 | | |
161 | 179 | | |
162 | | - | |
| 180 | + | |
163 | 181 | | |
164 | | - | |
165 | | - | |
| 182 | + | |
166 | 183 | | |
167 | 184 | | |
168 | 185 | | |
169 | 186 | | |
170 | 187 | | |
171 | | - | |
172 | | - | |
| 188 | + | |
| 189 | + | |
173 | 190 | | |
174 | | - | |
175 | | - | |
| 191 | + | |
| 192 | + | |
176 | 193 | | |
177 | 194 | | |
178 | | - | |
179 | | - | |
| 195 | + | |
180 | 196 | | |
181 | 197 | | |
182 | 198 | | |
| |||
188 | 204 | | |
189 | 205 | | |
190 | 206 | | |
191 | | - | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
192 | 214 | | |
193 | 215 | | |
194 | 216 | | |
195 | 217 | | |
196 | | - | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
197 | 244 | | |
198 | 245 | | |
199 | 246 | | |
| |||
243 | 290 | | |
244 | 291 | | |
245 | 292 | | |
246 | | - | |
| 293 | + | |
| 294 | + | |
247 | 295 | | |
248 | 296 | | |
249 | 297 | | |
| |||
261 | 309 | | |
262 | 310 | | |
263 | 311 | | |
264 | | - | |
| 312 | + | |
265 | 313 | | |
266 | 314 | | |
267 | 315 | | |
| |||
270 | 318 | | |
271 | 319 | | |
272 | 320 | | |
273 | | - | |
274 | | - | |
| 321 | + | |
275 | 322 | | |
276 | 323 | | |
277 | 324 | | |
| |||
287 | 334 | | |
288 | 335 | | |
289 | 336 | | |
290 | | - | |
291 | | - | |
| 337 | + | |
292 | 338 | | |
293 | 339 | | |
294 | 340 | | |
| |||
301 | 347 | | |
302 | 348 | | |
303 | 349 | | |
304 | | - | |
305 | | - | |
| 350 | + | |
306 | 351 | | |
307 | 352 | | |
308 | 353 | | |
| |||
318 | 363 | | |
319 | 364 | | |
320 | 365 | | |
321 | | - | |
| 366 | + | |
322 | 367 | | |
323 | 368 | | |
324 | 369 | | |
325 | 370 | | |
326 | 371 | | |
327 | | - | |
328 | | - | |
| 372 | + | |
329 | 373 | | |
330 | 374 | | |
331 | 375 | | |
| |||
395 | 439 | | |
396 | 440 | | |
397 | 441 | | |
398 | | - | |
| 442 | + | |
399 | 443 | | |
400 | 444 | | |
401 | 445 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1633 | 1633 | | |
1634 | 1634 | | |
1635 | 1635 | | |
1636 | | - | |
| 1636 | + | |
1637 | 1637 | | |
| 1638 | + | |
1638 | 1639 | | |
1639 | 1640 | | |
1640 | 1641 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
874 | 874 | | |
875 | 875 | | |
876 | 876 | | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
877 | 902 | | |
878 | 903 | | |
879 | 904 | | |
880 | 905 | | |
881 | 906 | | |
882 | 907 | | |
883 | | - | |
884 | | - | |
885 | | - | |
| 908 | + | |
886 | 909 | | |
887 | 910 | | |
888 | 911 | | |
| |||
891 | 914 | | |
892 | 915 | | |
893 | 916 | | |
894 | | - | |
895 | | - | |
896 | | - | |
| 917 | + | |
897 | 918 | | |
898 | 919 | | |
899 | 920 | | |
| |||
903 | 924 | | |
904 | 925 | | |
905 | 926 | | |
906 | | - | |
907 | | - | |
908 | | - | |
| 927 | + | |
909 | 928 | | |
910 | 929 | | |
911 | 930 | | |
| |||
915 | 934 | | |
916 | 935 | | |
917 | 936 | | |
918 | | - | |
919 | | - | |
920 | | - | |
| 937 | + | |
921 | 938 | | |
922 | 939 | | |
923 | 940 | | |
924 | 941 | | |
925 | 942 | | |
926 | | - | |
927 | | - | |
928 | | - | |
| 943 | + | |
929 | 944 | | |
930 | 945 | | |
931 | 946 | | |
932 | | - | |
933 | | - | |
934 | | - | |
| 947 | + | |
935 | 948 | | |
936 | 949 | | |
937 | 950 | | |
| |||
958 | 971 | | |
959 | 972 | | |
960 | 973 | | |
961 | | - | |
962 | | - | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
963 | 981 | | |
964 | 982 | | |
965 | 983 | | |
| |||
1053 | 1071 | | |
1054 | 1072 | | |
1055 | 1073 | | |
1056 | | - | |
| 1074 | + | |
1057 | 1075 | | |
1058 | 1076 | | |
1059 | 1077 | | |
| |||
1142 | 1160 | | |
1143 | 1161 | | |
1144 | 1162 | | |
1145 | | - | |
| 1163 | + | |
1146 | 1164 | | |
1147 | 1165 | | |
1148 | | - | |
1149 | | - | |
1150 | | - | |
1151 | | - | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
1152 | 1186 | | |
| 1187 | + | |
1153 | 1188 | | |
1154 | 1189 | | |
1155 | 1190 | | |
| |||
1158 | 1193 | | |
1159 | 1194 | | |
1160 | 1195 | | |
1161 | | - | |
| 1196 | + | |
1162 | 1197 | | |
1163 | 1198 | | |
1164 | 1199 | | |
1165 | | - | |
| 1200 | + | |
1166 | 1201 | | |
1167 | 1202 | | |
1168 | 1203 | | |
| |||
0 commit comments