You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once the Closure Capture ABI is implemented (https://bugs.swift.org/browse/SR-5441), there are some followup changes I would like to make to the SIL representation:
The SIL level partial_apply could take a single box for its context instead of one
for each captured variable. All it does is bind the context to the function.
Unify SIL closure argument types: Let's do away with the strange
SILGen "optimization" that sometimes converts nonescaping closure
arguments to to @inout_aliasable. I don't think this accomplishes
anything useful today but adds a lot of complexity.
Reliably distinguish noescaping from escaping SIL closure arguments
as part of the SIL convention. This gives us a nice invariant that
addresses are always statically exclusive. Nonescaping closures
would always take arguments by address ($T*, $U*), and escaping
closures would take arguments by box (${ var T }, ${ var U}).
The text was updated successfully, but these errors were encountered:
Additional Detail from JIRA
md5: 24327f99caaf5af6e520b9c8bfb1f143
relates to:
Issue Description:
Once the Closure Capture ABI is implemented (https://bugs.swift.org/browse/SR-5441), there are some followup changes I would like to make to the SIL representation:
for each captured variable. All it does is bind the context to the function.
SILGen "optimization" that sometimes converts nonescaping closure
arguments to to @inout_aliasable. I don't think this accomplishes
anything useful today but adds a lot of complexity.
as part of the SIL convention. This gives us a nice invariant that
addresses are always statically exclusive. Nonescaping closures
would always take arguments by address ($T*, $U*), and escaping
closures would take arguments by box (${ var T }, ${ var U}).
The text was updated successfully, but these errors were encountered: