swift
LifetimeDependence: redesign dependence scope handling
#78228
Merged

LifetimeDependence: redesign dependence scope handling #78228

atrick
atrick238 days ago (edited 238 days ago)

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)

atrick [NFC] LifeDependenceUtils: fix a merge redundancy.
f5e16b69
atrick Extend LifetimeDependence to allow borrowed value base.
7811a632
atrick [NFC] Add LifetimeDependence.Scope.ignoreBorrowScope utility.
eab9a359
atrick Update lifetime_dependence_util.sil for borrow dependence.
1848ac02
atrick AddressUtils: handle address initialization inside _modify.
dc4e4665
atrick Redesign LifetimeDependenceInsertion for coroutines
01279c4a
atrick Redesign LifetimeDependenceScopeFixup to handle accessors.
9f742826
atrick Add test: SIL lifetime dependence diagnostic passes
064d37f1
atrick Add test: diagnostic_passes_todo.sil
82afc7c7
atrick Add test: lifetime_dependence/coroutine.swift
8db7dc3a
atrick Add test: lifetime_dependence/scopefixup.sil
4ca98678
atrick Add LifetimeDependenceDiagnoseTrivial feature.
c71e53d3
atrick Add experimental-feature LifetimeDependenceDiagnoseTrivial to tests.
5c89708d
atrick LifetimeDependence: handle dependence on trivial values.
3897929e
atrick Fix lifetime_dependence tests for trivial dependence.
c05ddd68
atrick atrick requested a review from kavon kavon 238 days ago
atrick atrick requested a review from eeckstein eeckstein 238 days ago
atrick atrick requested a review from jckarter jckarter 238 days ago
atrick atrick requested a review from hborla hborla 238 days ago
atrick atrick requested a review from slavapestov slavapestov 238 days ago
atrick atrick requested a review from xedin xedin 238 days ago
atrick atrick requested a review from DougGregor DougGregor 238 days ago
atrick atrick requested a review from meg-gupta meg-gupta 238 days ago
atrick
atrick238 days ago
atrick atrick enabled auto-merge 237 days ago
atrick atrick merged 643cbd15 into main 237 days ago
atrick atrick deleted the lifedep-scopes-trivial branch 237 days ago

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone