Commit 066fa0b
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 22ca6b9 commit 066fa0b
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 | |
|---|---|---|---|
| |||
249 | 249 | | |
250 | 250 | | |
251 | 251 | | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
252 | 256 | | |
253 | 257 | | |
254 | 258 | | |
| |||
503 | 507 | | |
504 | 508 | | |
505 | 509 | | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | 510 | | |
511 | 511 | | |
512 | 512 | | |
513 | 513 | | |
514 | 514 | | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
515 | 518 | | |
516 | 519 | | |
517 | 520 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
| 321 | + | |
| 322 | + | |
321 | 323 | | |
322 | 324 | | |
323 | 325 | | |
| |||
3100 | 3102 | | |
3101 | 3103 | | |
3102 | 3104 | | |
3103 | | - | |
| 3105 | + | |
| 3106 | + | |
3104 | 3107 | | |
3105 | 3108 | | |
3106 | 3109 | | |
| |||
3344 | 3347 | | |
3345 | 3348 | | |
3346 | 3349 | | |
| 3350 | + | |
| 3351 | + | |
3347 | 3352 | | |
3348 | 3353 | | |
3349 | 3354 | | |
| |||
4022 | 4027 | | |
4023 | 4028 | | |
4024 | 4029 | | |
4025 | | - | |
4026 | | - | |
4027 | | - | |
4028 | | - | |
4029 | | - | |
4030 | | - | |
4031 | | - | |
4032 | | - | |
4033 | | - | |
4034 | | - | |
4035 | | - | |
4036 | | - | |
4037 | | - | |
4038 | | - | |
4039 | | - | |
4040 | | - | |
4041 | | - | |
4042 | | - | |
4043 | | - | |
4044 | | - | |
4045 | | - | |
4046 | | - | |
4047 | | - | |
4048 | | - | |
4049 | 4030 | | |
4050 | 4031 | | |
4051 | | - | |
4052 | | - | |
4053 | | - | |
4054 | | - | |
4055 | | - | |
4056 | | - | |
| 4032 | + | |
| 4033 | + | |
4057 | 4034 | | |
4058 | | - | |
| 4035 | + | |
4059 | 4036 | | |
4060 | 4037 | | |
4061 | 4038 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1062 | 1062 | | |
1063 | 1063 | | |
1064 | 1064 | | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
1065 | 1080 | | |
1066 | 1081 | | |
1067 | 1082 | | |
| |||
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