Commit 0597ec5
committed
[SIL] BuiltinInsts have type dependent operands.
Collect all types in the substitution map which constitute
type-dependent operands and record them in the instruction's operand
list. Fixes a bug where open_existential_metatype (e.g.) is deleted as
dead because it has no users even when the type it defines is used in a
substitution map of a builtin.1 parent 38e6420 commit 0597ec5
File tree
4 files changed
+54
-20
lines changed- include/swift/SIL
- lib/SIL/IR
- test/SIL
4 files changed
+54
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
218 | 223 | | |
219 | 224 | | |
220 | 225 | | |
| |||
607 | 612 | | |
608 | 613 | | |
609 | 614 | | |
610 | | - | |
611 | | - | |
| 615 | + | |
| 616 | + | |
612 | 617 | | |
613 | 618 | | |
614 | 619 | | |
| |||
621 | 626 | | |
622 | 627 | | |
623 | 628 | | |
624 | | - | |
| 629 | + | |
625 | 630 | | |
626 | 631 | | |
627 | 632 | | |
| |||
634 | 639 | | |
635 | 640 | | |
636 | 641 | | |
637 | | - | |
638 | | - | |
| 642 | + | |
| 643 | + | |
639 | 644 | | |
640 | 645 | | |
641 | 646 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4183 | 4183 | | |
4184 | 4184 | | |
4185 | 4185 | | |
| 4186 | + | |
| 4187 | + | |
4186 | 4188 | | |
4187 | | - | |
| 4189 | + | |
| 4190 | + | |
4188 | 4191 | | |
4189 | 4192 | | |
4190 | | - | |
4191 | | - | |
4192 | | - | |
| 4193 | + | |
| 4194 | + | |
| 4195 | + | |
4193 | 4196 | | |
4194 | 4197 | | |
4195 | 4198 | | |
| |||
4235 | 4238 | | |
4236 | 4239 | | |
4237 | 4240 | | |
4238 | | - | |
| 4241 | + | |
4239 | 4242 | | |
4240 | 4243 | | |
4241 | | - | |
| 4244 | + | |
4242 | 4245 | | |
4243 | 4246 | | |
4244 | | - | |
| 4247 | + | |
| 4248 | + | |
| 4249 | + | |
| 4250 | + | |
| 4251 | + | |
| 4252 | + | |
| 4253 | + | |
4245 | 4254 | | |
4246 | 4255 | | |
4247 | 4256 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
529 | 529 | | |
530 | 530 | | |
531 | 531 | | |
532 | | - | |
533 | | - | |
534 | | - | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
535 | 538 | | |
536 | | - | |
| 539 | + | |
537 | 540 | | |
538 | 541 | | |
539 | 542 | | |
540 | 543 | | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
545 | 548 | | |
546 | 549 | | |
547 | 550 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
289 | 289 | | |
290 | 290 | | |
291 | 291 | | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
0 commit comments