Commit Graph

162307 Commits

Author SHA1 Message Date
Erik Eckstein
11c74317a9 deinit-devirtualization: completely de-compose non-copyable destroys
Even if the destroyed value doesn't have a deinit.
This fixes a false alarm when a non-copyable value ends its lifetime in a function with performance annotations.

rdar://117002721
2023-12-13 20:03:02 +01:00
Steven Wu
cbf2bfb6d3 [Caching] Fix a typo in legacy layout file name
Fix a typo in the name of legacy layout file name that causes the legacy
layouts are not ingested into the CASFS for cached compilation.

rdar://119622429
2023-12-13 10:59:52 -08:00
eeckstein
5e0bcabc8b Merge pull request #70433 from eeckstein/fix-fixedarray-feature
make FixedArrays feature available in non-assert compiler builds
2023-12-13 19:42:42 +01:00
Meghana Gupta
4c6b5400d3 Disable a silcombine pattern that creates unoptimizable copies
The SILCombine of ref_to_raw_pointer uses ossa rauw which creates a copy.
The copy created cannot be removed because it has an escaping ownership.
Disabling the silcombine for ossa here to avoid generating unoptimizable copies.
2023-12-13 10:42:28 -08:00
Meghana Gupta
8cb2086c62 [NFC] Add debug msgs to inliner 2023-12-13 10:38:12 -08:00
Meghana Gupta
78d499f42e [NFC] Add debug msgs to SILCombine 2023-12-13 10:38:12 -08:00
Meghana Gupta
24aa3296dc [NFC] Add debug msgs in copy value opts 2023-12-13 10:38:12 -08:00
Meghana Gupta
90c5b80b0b [NFC] Add some debug msgs in LoopUnroll 2023-12-13 10:38:12 -08:00
Doug Gregor
6c4ae29b64 Merge pull request #70437 from kubamracek/embedded-disable-test-on-aarch64-linux
[embedded] Disable embedded/dependencies.swift test on Linux/AArch64
2023-12-13 10:17:35 -08:00
Kuba Mracek
f685eb8f17 [embedded] Disable embedded/dependencies.swift test on Linux/AArch64 2023-12-13 10:16:03 -08:00
Adrian Prantl
fae0618656 Add more dwarf version driver tests 2023-12-13 09:48:46 -08:00
Doug Gregor
3f518a3b79 [Macros] Don't apply member attribute macros to accessors
Accessors are conceptually nested within their property or subscript
declarations, so member-attribute macros should only apply to the
property or subscript declarations. This eliminates what appears to be
redundant macro expansion.

Fixes rdar://118956800.
2023-12-13 09:26:52 -08:00
Kuba Mracek
a6142dc359 [embedded] Mark embedded/no-allocations.swift test as REQUIRES: optimized_stdlib 2023-12-13 09:16:08 -08:00
Kuba (Brecka) Mracek
4f592f0022 Merge pull request #70407 from kubamracek/embedded-placeholders
[embedded] Fix editor placeholders by adding a StaticString variant of _undefined
2023-12-13 09:00:10 -08:00
Joe Groff
0022816a10 Add missing %target-codesign to moveonly execution tests. 2023-12-13 08:17:19 -08:00
Erik Eckstein
88173948d9 make FixedArrays feature available in non-assert compiler builds 2023-12-13 17:06:25 +01:00
Egor Zhdan
06f9c012c0 Merge pull request #70411 from apple/egorzhdan/libcxx-requires-cplusplus
[cxx-interop] Adjust detection of C++ modules after changes in libc++
2023-12-13 17:02:21 +01:00
eeckstein
295b6accef Merge pull request #62226 from eeckstein/read-only-static-arrays
IRGen: fix and re-enable static read-only arrays
2023-12-13 16:43:58 +01:00
eeckstein
2775262171 Merge pull request #70428 from eeckstein/fix-pm-warnings
PassManager: correctly pass the CalleeCache to SILModule::verify
2023-12-13 16:36:05 +01:00
eeckstein
c0a6159f8c Merge pull request #70427 from eeckstein/bridged-feature
SwiftCompilerSources: remove the redundant `BridgedPassContext.Feature` enum
2023-12-13 16:15:54 +01:00
Egor Zhdan
40ce4b0693 Merge pull request #70395 from ecbadeaux/Issue_69525
[Docs] Change (return this) to (return self)
2023-12-13 16:05:55 +01:00
Arnold Schwaighofer
5869aa3d2f Merge pull request #70385 from aschwaighofer/enable_objc_protocol_symbolic_refs
Enable the use of objective-c protocol symbolic references in type metadata encodings
2023-12-13 06:42:51 -08:00
Egor Zhdan
01670cdb62 Merge pull request #70325 from apple/egorzhdan/friend-operator-lookup
[cxx-interop] Add friend operators to the lookup table properly
2023-12-13 14:24:58 +01:00
Egor Zhdan
24b0d6e91e [cxx-interop] Adjust detection of C++ modules after changes in libc++
libc++ recently split the `std` module into many top-level modules: 571178a21a

This prevented the conformances to `CxxSet`, `CxxVector`, etc. from being synthesized with a fresh libc++ version.

rdar://119270491
2023-12-13 13:15:31 +00:00
Erik Eckstein
b3cccb3ef5 PassManager: correctly pass the CalleeCache to SILModule::verify
Fixes a compiler warning and improves verification.
2023-12-13 13:45:53 +01:00
Alastair Houghton
46d37d2a15 Merge pull request #70366 from al45tair/eng/PR-119137861
[Runtime] Use malloc_type_posix_memalign().
2023-12-13 12:43:04 +00:00
Erik Eckstein
773d6b179d SwiftCompilerSources: remove the redundant BridgedPassContext.Feature enum
And replace it with the existing BridgedFeature
2023-12-13 13:28:17 +01:00
Erik Eckstein
e4ea7491a2 IRGen: fix and re-enable static read-only arrays
Static read-only arrays didn't work when passed to ObjectiveC as NSArray.
The storage class of static read-only arrays doesn't carry information about the Element type.
The new `__SwiftDeferredStaticNSArray` is generic over the element type and doesn't have to rely on the element type information of the array storage.

rdar://94185998
2023-12-13 11:45:01 +01:00
Doug Gregor
2cf7b3a063 Merge pull request #70426 from DougGregor/catch-node-refinement
Tighten CatchNode from an AbstractClosureExpr to a ClosureExpr.
2023-12-13 02:32:21 -08:00
Kavon Farvardin
5988608c89 Merge pull request #70180 from kavon/noncopyable-serialization
[NCGenerics] Serialization for noncopyable generic types.
2023-12-13 00:36:53 -08:00
Doug Gregor
2ca67e0e0a Merge pull request #70414 from DougGregor/clang-importer-special-names
[Clang importer] Map imported names via the user-facing name
2023-12-13 00:31:06 -08:00
Allan Shortlidge
28519b683e Merge pull request #70417 from tshortli/revert-stubbing-unavailable-decls-by-default
Frontend: Temporarily disable stubbing unavailable decls
2023-12-13 00:28:24 -08:00
Doug Gregor
25faa002a4 Merge pull request #70397 from DougGregor/cleanup-caught-error-type
[Typed throws] Cleanups for the caught error type computation
2023-12-12 23:13:00 -08:00
Doug Gregor
05a4a822ba Tighten CatchNode from an AbstractClosureExpr to a ClosureExpr.
Only real closures can have thrown error types, so we can use the
tighter bound for closures and simplify various CatchNode operations.
2023-12-12 22:30:18 -08:00
Konrad `ktoso` Malawski
55c932c568 [Distributed] Bring back module interface test for DA (#70199) 2023-12-13 10:53:42 +09:00
Alex Lorenz
c19ea96809 [interop] allow virtual methods only for the 'upcoming-swift' release 2023-12-12 17:20:53 -08:00
Arnold Schwaighofer
39d3058ee6 Merge pull request #70381 from aschwaighofer/execution_test_shrink_wrap
Add an execution test case for a failure caused by LLVM's shrink wrapping
2023-12-12 17:10:46 -08:00
Rintaro Ishizaki
a6d732a186 Merge pull request #70408 from rintaro/astgen-expr-alphabetical 2023-12-12 17:09:09 -08:00
Kavon Farvardin
bd1330715c [NCGenerics] only print ~Copyable in interface
We can't simply emit the desugared, expanded version of the requirements
because there's no way to pretty-print the type `some ~Copyable` when
the `~Copyable`'s get replaced with the absence of `Copyable`. We'd be
left with just `some _` or need to invent a new top type so we can write
`some Top`. Thus, it's best to simply reverse the expansion of default
requirements when emitting a swiftinterface file.
2023-12-12 16:40:26 -08:00
Kavon Farvardin
ffc06f9d31 [NCGenerics] add tests for modules/interface files 2023-12-12 16:40:26 -08:00
Kavon Farvardin
a6b27d0f85 [NCGenerics] fix serialization of PCT
resolves rdar://118947007
2023-12-12 16:40:13 -08:00
Angela Laar
737665cbac [Sema] Group isolation errors in checkApply 2023-12-12 16:23:13 -08:00
Angela Laar
4d2b01b0be Group Actor Isolation errors
The number of errors in a function scope can scale exponentially,
making it hard to root cause and resolve unless we group them into
a single error. Grouping the error diagnostics will considerably
improve the concurrency user experience.
2023-12-12 16:23:10 -08:00
Alejandro Alonso
f365316d74 Merge pull request #70327 from Azoy/inject-get-enum-tag-builtins
[IRGen] Add getEnumTag and injectEnumTag builtins
2023-12-12 16:07:56 -08:00
Allan Shortlidge
ad604f2803 Frontend: Temporarily disable stubbing unavailable decls.
This feature should be disabled until rdar://119046537 is solved.
2023-12-12 15:46:57 -08:00
Doug Gregor
010a41243e Fix minor regressions from refactoring of caught error types 2023-12-12 15:39:56 -08:00
Everett Badeaux
96fb3a0477 [Docs] Change return this to say return self
Signed-off-by: Everett Badeaux <everettc1810@gmail.com>
2023-12-12 17:33:56 -06:00
Dave Lee
a56c89f97e [Debug] Conditional _DebugDescription macro declaration (#70351)
Make `_DebugDescription` macro conditional upon macro availability in the build.

The `Macros` feature is based on the value of `SWIFT_BUILD_SWIFT_SYNTAX`.

See https://github.com/apple/swift/pull/69626#issuecomment-1848221971
2023-12-12 15:19:49 -08:00
Kuba (Brecka) Mracek
91956a1f65 Merge pull request #70314 from kubamracek/embedded-no-alloc
[embedded] Implement non-allocating embedded Swift mode, under -no-allocations flag
2023-12-12 15:15:10 -08:00
Joe Groff
957443e16c Merge pull request #70404 from jckarter/modify-coroutines-yielding-noncopyable-values
Move-only-check the result of modify coroutines.
2023-12-12 14:38:48 -08:00