Commit 0aa54a6
committed
[Region isolation] Re-simplify handling of init_existential* instructions
Centralize the logic for figuring out the conformances for the various
init_existential* instructions in a SILIsolationInfo static method, and
always go through that when handling "assign" semantics. This way, we
can use CONSTANT_TRANSLATION again for these instructions, or a simpler
decision process between Assign and LookThrough.
The actually undoes a small change made earlier when we stopped looking
through `init_existential_value` instructions. Now we do when there are
no isolated conformances.1 parent 2f3ef58 commit 0aa54a6
File tree
4 files changed
+33
-38
lines changed- include/swift/SILOptimizer/Utils
- lib/SILOptimizer
- Analysis
- Utils
- test/Concurrency
4 files changed
+33
-38
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
253 | 253 | | |
254 | 254 | | |
255 | 255 | | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
256 | 260 | | |
257 | 261 | | |
258 | 262 | | |
| |||
534 | 538 | | |
535 | 539 | | |
536 | 540 | | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | 541 | | |
542 | 542 | | |
543 | 543 | | |
544 | 544 | | |
545 | 545 | | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
546 | 549 | | |
547 | 550 | | |
548 | 551 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
328 | 328 | | |
329 | 329 | | |
330 | 330 | | |
| 331 | + | |
| 332 | + | |
331 | 333 | | |
332 | 334 | | |
333 | 335 | | |
| |||
3146 | 3148 | | |
3147 | 3149 | | |
3148 | 3150 | | |
3149 | | - | |
| 3151 | + | |
| 3152 | + | |
3150 | 3153 | | |
3151 | 3154 | | |
3152 | 3155 | | |
| |||
3387 | 3390 | | |
3388 | 3391 | | |
3389 | 3392 | | |
| 3393 | + | |
| 3394 | + | |
3390 | 3395 | | |
3391 | 3396 | | |
3392 | 3397 | | |
| |||
4066 | 4071 | | |
4067 | 4072 | | |
4068 | 4073 | | |
4069 | | - | |
4070 | | - | |
4071 | | - | |
4072 | | - | |
4073 | | - | |
4074 | | - | |
4075 | | - | |
4076 | | - | |
4077 | | - | |
4078 | | - | |
4079 | | - | |
4080 | | - | |
4081 | | - | |
4082 | | - | |
4083 | | - | |
4084 | | - | |
4085 | | - | |
4086 | | - | |
4087 | | - | |
4088 | | - | |
4089 | | - | |
4090 | | - | |
4091 | | - | |
4092 | | - | |
4093 | 4074 | | |
4094 | 4075 | | |
4095 | | - | |
4096 | | - | |
4097 | | - | |
4098 | | - | |
4099 | | - | |
4100 | | - | |
| 4076 | + | |
| 4077 | + | |
4101 | 4078 | | |
4102 | | - | |
| 4079 | + | |
4103 | 4080 | | |
4104 | 4081 | | |
4105 | 4082 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1171 | 1171 | | |
1172 | 1172 | | |
1173 | 1173 | | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
1174 | 1189 | | |
1175 | 1190 | | |
1176 | 1191 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
| 195 | + | |
196 | 196 | | |
197 | | - | |
| 197 | + | |
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
| |||
0 commit comments