Skip to content

[pull] swiftwasm from main #5499

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 55 commits into from
Jun 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
18f56c9
[NFC][ASTGen] Add wrapping structs for commonly bridged types
bnbarham May 21, 2023
7abb4c3
[Serialization] Fix serializing CompilerPluginExecutablePaths values
xymus Jun 2, 2023
f8fe8b1
[Backtracing][IRGen] Add a semantic attribute to force frame pointer.
al45tair Jun 5, 2023
71c9dd3
[Dynamic Casting] Use old boxing semantics for pre-Fall-2023 apps
tbkka Jun 5, 2023
e3c0d17
SIL: Don't skip lowering obsolete decls.
tshortli Jun 5, 2023
8d6f76c
Merge pull request #66350 from tbkka/tbkka-109941470-bincompat-for-bo…
tbkka Jun 6, 2023
cf8ac14
[cxx-interop] Initializing a Swift.Array from CxxConvertibleToCollect…
egorzhdan Jun 1, 2023
9c98ee8
Merge pull request #66353 from tshortli/avoid-stripping-obsolete-decls
tshortli Jun 6, 2023
6b53365
[move-only] Comment emitMoveOnlyMemberDestruction drop_deinit
atrick Jun 2, 2023
2f200a6
[move-only] Fix drop_deinit OSSA lowering
atrick Jun 1, 2023
521f0ff
[move-only] Verify drop_deinit
atrick Jun 2, 2023
0bbd92a
[move-only] Rename MoveOnlyDeinitInsertion
atrick Jun 2, 2023
62b0899
[move-only] Disable move-only devirtualization.
atrick Jun 3, 2023
f7d30d4
[move-only] Fix SILOptimizer expansion to preserve deinits.
atrick May 25, 2023
85317c6
[move-only] Fix dead code elimination to preserve value deinits.
atrick Jun 6, 2023
280761f
[move-only] Fix SILOptimizer code motion to preserve value deinits
atrick Jun 6, 2023
9345ba4
[move-only] Fix SILCombine to preserve value deinit
atrick Jun 6, 2023
ef6de50
[move-only] Fix TypeLowering to preserve value deinits
atrick Jun 6, 2023
e3fa77e
[move-only] Update tests for drop_deinit lowering.
atrick Jun 6, 2023
d55ca8a
Disable SILGen/discard.swift on Windows.
atrick Jun 6, 2023
af1d0d4
cleanup whitespace in sil_combine_moveonly.sil
atrick Jun 6, 2023
46dbf8e
Cleanup SILCombine hasValueDeinit checks
atrick Jun 6, 2023
95cdf2a
Revert "temporarily prevent Copyable types from using `consuming` and…
gottesmm May 29, 2023
07677c2
Revert "add and update tests for Copyable types not having ownership …
gottesmm May 29, 2023
cbb9e15
Restore sema code that bans consuming from being applied to no escape…
gottesmm Jun 6, 2023
f88fa66
[noimplicitcopy] When serializing SIL types, always use getRawASTType…
gottesmm May 30, 2023
508866a
[noimplicitcopy] Be sure to register SILMoveOnlyWrappedTypeLayout wit…
gottesmm May 30, 2023
76374f8
[move-only] Expand FuncDecl's SelfAccessKind field so it can fit Cons…
gottesmm Jun 3, 2023
43f42e2
[borrowing/consuming] Add new instruction: moveonlywrapper_to_copyabl…
gottesmm May 30, 2023
611e676
[borrowing/consuming] Add a new instruction called copyable_to_moveon…
gottesmm Jun 4, 2023
68fd68b
Add some docs for copyable_to_moveonlywrapper_addr and moveonlywrappe…
gottesmm Jun 4, 2023
d3d345b
Merge pull request #66333 from al45tair/eng/PR-110260855
al45tair Jun 6, 2023
7193b70
Merge pull request #66271 from apple/egorzhdan/borrow-cxx-convertible
egorzhdan Jun 6, 2023
65a9ba4
[sil-mode.el] Add syntax highlighting for noimplicit copy instructions.
gottesmm Jun 4, 2023
b25dec5
[cxx-interop] add a SWIFT_MUTATING customization macro
hyp Jun 6, 2023
3dd13e7
Merge pull request #66309 from xymus/fix-serial-macros
xymus Jun 6, 2023
2ab4d7b
Merge pull request #66044 from bnbarham/cleanup-astgen
bnbarham Jun 6, 2023
55a253a
Sema: Variadic generic type aliases don't require runtime support
slavapestov Jun 5, 2023
76a6faa
SIL: Fix another bug in verifyDynamicPackIndexStructuralEquality()
slavapestov Jun 5, 2023
05daaae
ASTPrinter: Tweak PackExpansionType printing
slavapestov Jun 1, 2023
82a4826
AST: Introduce TypeBase::increasePackElementLevel()
slavapestov May 24, 2023
be218f5
AST: Use PackElementType to model references to pack elements of oute…
slavapestov May 31, 2023
6eb112e
AST: Factor out duplication between PackTypeParameterCollector and Pa…
slavapestov Jun 5, 2023
a3e1361
SIL: Use walkPackReferences() instead of bespoke logic
slavapestov Jun 5, 2023
ec3aa5c
SIL: Preliminary AbstractionPattern support for PackElementType
slavapestov Jun 6, 2023
29bbd66
SIL: Preliminary type lowering support for PackElementType
slavapestov Jun 6, 2023
70ab38d
[move-only] Add a new instruction: moveonlywrapper_to_copyable_box.
gottesmm Jun 6, 2023
4325c0a
Merge pull request #66314 from atrick/fix-dropdeinit
atrick Jun 6, 2023
15bd01b
Mangler: Mangle PackElementType
slavapestov Jun 6, 2023
f432270
Add serialization test for round-tripping PackElementType
slavapestov Jun 6, 2023
1425e32
[Runtime] Refactor swift_generic_initWithTake to use shared abstracti…
drexin Jun 6, 2023
59c8cff
[borrowing] Add support for borrowing/consuming copyable types to be …
gottesmm May 29, 2023
1adcf99
Merge pull request #66374 from hyp/eng/swift_mutating
hyp Jun 6, 2023
c30f7dc
Merge pull request #66096 from slavapestov/pack-element-type
slavapestov Jun 6, 2023
29672c5
Merge pull request #66381 from gottesmm/noimplicitcopy-borrow-consuming
gottesmm Jun 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/ABI/Mangling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -675,6 +675,8 @@ Types
type ::= assoc-type-list 'QZ' // shortcut for 'QYz'
type ::= opaque-type-decl-name bound-generic-args 'Qo' INDEX // opaque type

type ::= pack-type 'Qe' INDEX // pack element type

type ::= pattern-type count-type 'Qp' // pack expansion type
type ::= pack-element-list 'QP' // pack type
type ::= pack-element-list 'QS' DIRECTNESS // SIL pack type
Expand Down
27 changes: 27 additions & 0 deletions docs/SIL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8460,6 +8460,33 @@ need for the guaranteed form in the future.
@moveOnly trivial type, we convert from the non-trivial representation to the
trivial representation.

copyable_to_moveonlywrapper_addr
````````````````````````````````
::

sil-instruction ::= 'copyable_to_moveonlywrapper_addr'

`copyable_to_moveonlywrapper_addr`_ takes in a '*T' and maps it to a move only
wrapped '*@moveOnly T'. This is semantically used by a code generator
initializing a new moveOnly binding from a copyable value. It semantically acts
as an address cast. If one thinks of '@moveOnly' as a monad, this is how one
injects a copyable value into the move only space.

moveonlywrapper_to_copyable_addr
````````````````````````````````
::

sil-instruction ::= 'moveonlywrapper_to_copyable_addr'

`moveonlywrapper_to_copyable_addr`_ takes in a '*@moveOnly T' and produces a new
'*T' value. This instruction acts like an address cast that projects out the
underlying T from an @moveOnly T.

NOTE: From the perspective of the address checker, a trivial `load`_ with a
`moveonlywrapper_to_copyable_addr`_ operand is considered to be a use of a
noncopyable type.


Assertion configuration
~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
Loading