Nate Chandler
77d26e1eff
[NFC] LifetimeCompletion: Rename helper fn.
...
It visits the availability boundary, so call it
`visitAvailabilityBoundary`. It's not clear what "unreachable lifetime
ends" are.
2024-06-05 16:27:45 -07:00
Nate Chandler
9d7db52bed
[NFC] PrunedLiveness: Tweaked enum wrapper.
...
Clarify methods. Unfortunately, without other changes I haven't
identified, the `enum class` can't be made an `enum` for ideal usage.
2024-06-05 16:27:45 -07:00
Meghana Gupta
470fa2f365
Remove resultDependsOn/resultDependsOnSelf
2024-06-05 11:36:16 -07:00
swift-ci
089207f2d3
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-04 18:35:07 -07:00
nate-chandler
23915e8075
Merge pull request #74109 from nate-chandler/rdar113142446
...
[ConsumeObjectChecker] End lifetimes at consumes.
2024-06-04 18:17:36 -07:00
swift-ci
6502924e2e
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-04 11:55:06 -07:00
Ellie Shin
6216ec648f
Merge pull request #73902 from apple/elsh/pkg-cmo-inline
...
[SIL][PackageCMO] Allow optimizing [serialized_for_pkg] functions
2024-06-04 11:39:19 -07:00
Nate Chandler
eedc7268f6
[NFC] PrunedLiveness: Promote updateForUse variant
...
Allow users to add instructions to liveness in the same terms that
liveness itself uses.
2024-06-03 15:45:16 -07:00
Nate Chandler
82cb9897da
[Test] Indicate insts with vals.
...
If a value is defined by an instruction, it's often more convenient to
specify the instruction by the value.
2024-06-03 15:45:10 -07:00
swift-ci
5abac881ad
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-02 15:34:45 -07:00
Michael Gottesman
1d8ea84fa3
[region-isolation] When determining isolation of a full apply site... use the isolated parameter, not self.
...
This was ok in the small since most of the time we were processing a self
parameter as isolated... but that isn't always true...
2024-06-01 23:25:16 -07:00
swift-ci
7f0390efb8
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-01 11:17:38 -07:00
Andrew Trick
e06fc99667
Fix SILCombine to delete dead end_access instructions.
...
Otherwise, the SILVerifier will raise an error.
Fixes rdar://121599876 (SILCombine should delete instructions in
blocks dominated by cond_fail -1)
2024-05-31 23:01:34 -07:00
swift-ci
2aff268350
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-30 20:34:28 -07:00
Alejandro Alonso
324cb2df1f
Merge pull request #73955 from Azoy/show-me-those-moves
...
[IRGen] Add option for raw layout to move as its like type
2024-05-30 20:32:49 -07:00
swift-ci
63205ba9a2
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-30 09:54:36 -07:00
Emil Pedersen
531469f70e
Merge pull request #73864 from Snowy1803/scs-builder-skip-meta
...
Skip meta instructions for Builder.init with automatic location
2024-05-30 09:50:48 -07:00
Ellie Shin
c3ded85c4f
Update SILBridgedFunction APIs.
...
Add isAnySerialized() and canBeInlinedIntoCaller(SerializedKind).
2024-05-29 15:54:36 -07:00
swift-ci
bc80f1ca21
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-28 17:50:40 -07:00
Tim Kientzle
65f78e6268
Merge pull request #73675 from tbkka/tbkka-assertions-v2
...
New assertions support
2024-05-28 17:25:21 -07:00
Alejandro Alonso
a9da08ccb6
Add option for raw layout to move as its like type
2024-05-28 14:34:22 -07:00
Ellie Shin
4ecfc96578
[SIL][PackageCMO] Allow optimizing [serialized_for_pkg] functions during SIL
...
inlining, generic/closure specialization, and devirtualization optimization passes.
SILFunction::canBeInlinedIntoCaller now exlicitly requires a caller's SerializedKind_t arg.
isAnySerialized() is added as a convenience function that checks if [serialized] or [serialized_for_pkg].
Resolves rdar://128704752
2024-05-27 23:05:56 -07:00
swift-ci
18f4826b9d
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-24 15:54:04 -07:00
Emil Pedersen
a7a80130c2
Merge pull request #73866 from Snowy1803/silgen-description
...
[DebugInfo] [SILGen] Always use emitDebugDescription (NFCI)
2024-05-24 15:34:17 -07:00
swift-ci
112cf2df58
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-24 10:15:07 -07:00
Emil Pedersen
4b1ce86f48
Add Location.isInlined to SwiftCompilerSources
2024-05-23 16:04:05 -07:00
Ellie Shin
5ccc4cd394
SIL function can be serialized with different kinds: [serialized] or
...
[serialized_for_package] if Package CMO is enabled. The latter kind
allows a function to be serialized even if it contains loadable types,
if Package CMO is enabled. Renamed IsSerialized_t as SerializedKind_t.
The tri-state serialization kind requires validating inlinability
depending on the serialization kinds of callee vs caller; e.g. if the
callee is [serialized_for_package], the caller must be _not_ [serialized].
Renamed `hasValidLinkageForFragileInline` as `canBeInlinedIntoCaller`
that takes in its caller's SerializedKind as an argument. Another argument
`assumeFragileCaller` is also added to ensure that the calle sites of
this function know the caller is serialized unless it's called for SIL
inlining optimization passes.
The [serialized_for_package] attribute is allowed for SIL function, global var,
v-table, and witness-table.
Resolves rdar://128406520
2024-05-23 15:53:02 -07:00
swift-ci
7e6e6abd06
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-23 15:13:50 -07:00
Kshitij Jain
64da348ee9
Merge pull request #73688 from jkshtj/main
...
[Autodiff] Adds logic to rewrite call-sites using functions specialized by the closure-spec optimization
2024-05-23 14:21:31 -07:00
Emil Pedersen
0bc6ece9db
[DebugInfo] [SILGen] Always use emitDebugDescription (NFCI)
2024-05-23 14:05:13 -07:00
swift-ci
de49abb425
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-23 03:15:39 -07:00
Erik Eckstein
2e440d78ee
SILBridging: fix a compiler warning when building with pure bridging mode (e.g. in Debug)
2024-05-23 09:01:49 +02:00
swift-ci
50ff2bfca4
Merge remote-tracking branch 'origin/main' into rebranch
2024-05-22 10:34:59 -07:00
eeckstein
7c69bec9b4
Merge pull request #73782 from eeckstein/static-arrays-in-embedded
...
IRGen: support read-only statically initialized arrays in embedded swift
2024-05-22 19:34:42 +02:00
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