LifetimeDependence: redesign dependence scope handling #78228
[NFC] LifeDependenceUtils: fix a merge redundancy.
f5e16b69
Extend LifetimeDependence to allow borrowed value base.
7811a632
[NFC] Add LifetimeDependence.Scope.ignoreBorrowScope utility.
eab9a359
Update lifetime_dependence_util.sil for borrow dependence.
1848ac02
AddressUtils: handle address initialization inside _modify.
dc4e4665
Redesign LifetimeDependenceInsertion for coroutines
01279c4a
Redesign LifetimeDependenceScopeFixup to handle accessors.
9f742826
Add test: SIL lifetime dependence diagnostic passes
064d37f1
Add test: diagnostic_passes_todo.sil
82afc7c7
Add test: lifetime_dependence/coroutine.swift
8db7dc3a
Add test: lifetime_dependence/scopefixup.sil
4ca98678
Add LifetimeDependenceDiagnoseTrivial feature.
c71e53d3
Add experimental-feature LifetimeDependenceDiagnoseTrivial to tests.
5c89708d
LifetimeDependence: handle dependence on trivial values.
3897929e
Fix lifetime_dependence tests for trivial dependence.
c05ddd68
atrick
enabled auto-merge 237 days ago
atrick
merged
643cbd15
into main 237 days ago
atrick
deleted the lifedep-scopes-trivial branch 237 days ago
Assignees
No one assigned
Handle arbitrarily nested accesses, borrows, and coroutines.
Handle dependence on variable bindings that hold trivial values.
This overhaul is currently blocking a SILGen fix that adds mark_dependence to unsafeAddress, so that addressors can be used to implement borrowed properties. More tests will be added for addressors at that time.
Fixes rdar://140424699 (Invalid SIL is generated by some passes for certain
@
lifetime
annotations)