swift-ci
969e44871a
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-21 14:14:55 -07:00
Kshitij
c288d95c1e
[Autodiff] Separates out changes for using non-ossa instructions in the closure-spec optimization pass
...
The OSSA elimination pass has not yet been moved below all high level
function passes. Until that work has been completed the Autodiff
closure-spec optimization pass cannot solely support OSSA instructions.
2024-05-21 12:02:28 -07:00
Kshitij
12faf79911
[Autodiff] Adds logic to rewrite call-sites using functions specialized by the closure-spec optimization
2024-05-21 12:02:28 -07:00
Slava Pestov
7aebd1e2c6
SIL: Simplify TypeSubstCloner
2024-05-21 13:52:58 -04:00
Slava Pestov
8af57e9094
SIL: Copy opaque archetype substitution logic into SILCloner
2024-05-21 13:52:58 -04:00
Slava Pestov
a1462ef184
SIL: Promote removeDeadBlock() from SILOptimizer to a method on SILBasicBlock
2024-05-21 13:52:58 -04:00
Erik Eckstein
941a7427d8
handle upcast instructions in statically initialized globals
...
This allows statically initialized multi-dimensional arrays in embedded swift.
2024-05-21 13:33:06 +02:00
swift-ci
95de7f626b
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-18 04:54:40 -07:00
Slava Pestov
c7c244e16a
Merge pull request #73712 from slavapestov/pack-expansion-closures-part-6
...
Pack expansion closures, part 6
2024-05-18 07:41:44 -04:00
swift-ci
b20fedebc6
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-18 02:54:31 -07:00
Michael Gottesman
d759ec97ea
Merge pull request #73696 from gottesmm/rdar128216574
...
[sending] Add support for 'sending'
2024-05-18 05:42:41 -04:00
Slava Pestov
093f255bdc
SIL: Allow SILCloner to work with a substitution map
2024-05-17 15:16:11 -04:00
Slava Pestov
749c2af7e2
SIL: Add TypeConverter::getSubstitutionMapWithCapturedEnvironments()
2024-05-17 15:16:11 -04:00
Slava Pestov
e8714e7e5a
SIL: Split off reclaimUnresolvedLocalArchetypeDefinitions()
...
Just to be extra safe, I'm only going to call this when captured local archetypes
are present.
2024-05-17 15:16:11 -04:00
swift-ci
f8b3740f15
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-17 04:56:41 -07:00
Slava Pestov
9cf4d61ece
Merge pull request #73685 from slavapestov/pack-expansion-closures-part-5
...
Pack expansion closures, part 5
2024-05-17 07:42:06 -04:00
swift-ci
5c0fe0fd6c
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-17 00:35:54 -07:00
Slava Pestov
c1ce0d72c2
SIL: Store captured environments in SILFunction
2024-05-16 23:00:44 -04:00
Tim Kientzle
f09fb7dfa4
Update a couple of files to pull assertion helpers from the new header
2024-05-16 12:50:23 -07:00
Erik Eckstein
f3dafbff2f
SIL: make unchecked_ref_cast buildable in a global variable initializer
2024-05-16 21:34:35 +02:00
Michael Gottesman
e3e78ad6bb
[sending] Change the internals of sending to be based around 'sending' instead of 'transferring'.
...
We still only parse transferring... but this sets us up for adding the new
'sending' syntax by first validating that this internal change does not mess up
the current transferring impl since we want both to keep working for now.
rdar://128216574
2024-05-16 12:20:45 -07:00
swift-ci
abf98a0f6c
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-16 11:34:58 -07:00
Augusto Noronha
e5a1d61ed8
Merge pull request #73145 from augusto2112/keep-for-deb-def
...
Fix functions not being kept for debugger
2024-05-16 11:32:43 -07:00
swift-ci
54bb79b61f
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-16 10:34:40 -07:00
Ellie Shin
1257db7342
Merge pull request #73566 from apple/elsh/sil-new-attr
...
[SIL] Add [serialized_for_package] to control package-wide resilience domain in Package-CMO.
2024-05-16 10:17:35 -07:00
swift-ci
35e784e3c2
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-15 19:14:47 -07:00
Slava Pestov
ff6cdeb881
Merge pull request #73625 from slavapestov/sil-cloner-local-archetypes-fix
...
Redo handling of local archetypes in SILCloner
2024-05-15 22:04:19 -04:00
Slava Pestov
388a2d7d35
SIL: Add some debugging code
2024-05-15 17:39:00 -04:00
Slava Pestov
62630365c2
SIL: Sink local archetype substitution into remapConformance()
2024-05-15 17:39:00 -04:00
Slava Pestov
a356b10929
SIL: Sink local archetype substitution into remapType()
2024-05-15 17:39:00 -04:00
Slava Pestov
0a0b17a660
SIL: Sink local archetype substitution into remapASTType()
2024-05-15 17:39:00 -04:00
Slava Pestov
3b5846d458
SIL: Sink local archetype substitution into remapSubstitutionMap()
2024-05-15 17:39:00 -04:00
Ellie Shin
2d81d0f2c7
[SIL] Add a new attribute [serialized_for_package] to support
...
package-wide resilience domain if Package CMO is enabled.
The purpose of the attribute includes:
- Indicates that certain types such as loadable types are
allowed in serialized functions in resiliently built module
if the optimization is enabled, which are otherwise disallowed.
- Used during SIL deserialization to determine whether such
functions are allowed.
- Used to determine if a callee can be inlined into a caller
that's serialized without package-cmo, e.g. with an explicit
annotation like @inlinable, where the callee was serialized
due to package-cmo.
Resolves rdar://127870822
2024-05-15 12:43:15 -07:00
Slava Pestov
4de6dca5d8
SIL: Fix latent bug in TypeSubstCloner::remapSubstitutionMap()
...
We didn't erase opaque archetypes like we did when remapping types
and conformances.
2024-05-15 11:51:31 -04:00
swift-ci
05d35ef466
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-14 19:13:42 -07:00
Kshitij Jain
c37d31cc64
Merge pull request #73596 from jkshtj/specialize
...
[Autodiff] Adds logic to generate specialized functions in the closure-spec pass
2024-05-14 18:55:23 -07:00
Slava Pestov
1cdb654ba2
SIL: Tidy up SILCloner
2024-05-14 13:48:08 -04:00
Augusto Noronha
529845056b
Fix functions not being kept for debugger
...
At Onone, many types of functions (anything user written, compiler
generated setters and getters, etc), should be kept in the final
binary so they're accessible by the debugger.
rdar://126763340
2024-05-14 10:31:44 -07:00
swift-ci
d60bd76bc1
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-14 06:14:47 -07:00
Slava Pestov
a3590a228a
SIL: Replace substitutionsChangeGenericTypeParameters() with isIdentity() check
2024-05-13 21:59:25 -04:00
Kshitij
74166a4ab6
[Autodiff] Moves bridging code accesses in closure-spec opt behind APIs
...
Addresses some other surfacial feedback as well.
2024-05-13 15:37:30 -07:00
swift-ci
333482e90b
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-13 11:36:59 -07:00
Michael Gottesman
4789cc7e55
Merge pull request #73556 from gottesmm/rdar127295657_127844737
...
[region-isolation] When inferring isolation for an argument, handle non-self isolated parameters as well as self parameters that are actor isolated.
2024-05-13 11:18:51 -07:00
Kshitij
ab751d57ab
[Autodiff] Adds logic to generate specialized functions in the closure-spec pass
2024-05-13 11:16:42 -07:00
swift-ci
27875fab06
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-13 10:35:09 -07:00
Emil Pedersen
15cab3a19f
Merge pull request #73555 from Snowy1803/complete-getvarinfo
...
[DebugInfo] Return complete variable info from getVarInfo by default
2024-05-13 10:32:43 -07:00
swift-ci
17fdfecc10
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-10 19:14:53 -07:00
Slava Pestov
6df0de5ba9
Merge pull request #73570 from slavapestov/pack-expansion-closures-part-4
...
Allow local archetypes in interface types of local declarations
2024-05-10 22:00:43 -04:00
Emil Pedersen
0be63d0422
[DebugInfo] Return complete variable info from getVarInfo by default
...
getVarInfo() now always returns a variable with a location and scope.
To opt out of this change, getVarInfo(false) returns an incomplete variable.
This can be used to work around bugs, but should only really be used for
printing.
The complete var info will also contain the type, except for debug_values,
as its type depends on another instruction, which may be inconsistent if
called mid-pass.
All locations in debug variables are now also stripped of flags, to avoid
issues when comparing or hashing debug variables.
2024-05-10 16:12:56 -07:00
Emil Pedersen
b2930992a8
[DebugInfo] Remove Expr from debug variables used as DenseMap keys
...
We do keep the fragment part of the expression as it is important
to identify fragments separately.
A variable with less fragments should be considered a superset of
variables with more fragments, but that would require to change a
lot of code.
2024-05-10 16:09:26 -07:00