Commit Graph

12848 Commits

Author SHA1 Message Date
swift-ci
ae025f1950 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-14 08:19:37 -07:00
Kuba (Brecka) Mracek
17eef2733d Merge pull request #74354 from kubamracek/embedded-float-abi-hard
[embedded] Respect float arg lowering convention under -mfloat-abi=hard
2024-06-14 08:07:51 -07:00
swift-ci
b861f5c6f3 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-14 07:15:26 -07:00
Konrad `ktoso` Malawski
2ec717b115 [Concurrency] TaskExecutor ownership fixes (#74000) 2024-06-14 22:56:33 +09:00
Arnold Schwaighofer
19557cd6a2 Merge pull request #74304 from aschwaighofer/use_static_alloca_for_stackAlloc
IRGen: Use static alloca for builtin stackAlloc when possible
2024-06-14 06:54:41 -07:00
swift-ci
5e95443f0e Merge remote-tracking branch 'origin/main' into rebranch 2024-06-13 09:34:17 -07:00
Adrian Prantl
fb307ff0a5 Merge pull request #74349 from adrian-prantl/128309024
Finalize Swift debug info before running Clang codegen, because it ma…
2024-06-13 09:28:18 -07:00
Egor Zhdan
f56fa41ac6 [cxx-interop] Always instantiate the default destructor
This fixes a linker error when using `std::function` from Swift.

rdar://103979602
2024-06-13 16:09:44 +01:00
Kuba Mracek
e871cea025 [embedded] Respect float arg lowering convention under -mfloat-abi=hard 2024-06-12 11:26:02 -07:00
Adrian Prantl
bba8b921ab Finalize Swift debug info before running Clang codegen, because it may delete
the llvm module.

rdar://128309024
2024-06-12 10:13:50 -07:00
swift-ci
3328274e09 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-11 21:34:22 -07:00
Nate Chandler
2d70de8a7f [IRGen] Assert on retaining noncopyable. 2024-06-11 14:46:03 -07:00
Arnold Schwaighofer
89b6f91a9f IRGen: Use static alloca for builtin stackAlloc when possible
rdar://129599643
2024-06-11 12:14:09 -07:00
swift-ci
b095ea9e1f Merge remote-tracking branch 'origin/main' into rebranch 2024-06-07 14:54:59 -07:00
Egor Zhdan
dbe1a982d9 Merge pull request #74208 from apple/egorzhdan/frt-duplicate-metadata-accessor
[cxx-interop][IRGen] Emit type metadata accessors correctly
2024-06-07 22:49:23 +01:00
Egor Zhdan
a5ce0dc81d [cxx-interop][IRGen] Emit type metadata accessors correctly
This change makes sure we correctly emit IR for type metadata accessors for C++ reference types.

This fixes linker errors when a type metadata of a C++ reference type is used in multiple object files that are later linked together, for instance, if a C++ reference type is conformed to different Swift protocols in different Swift source files:
```
duplicate symbol 'type metadata accessor for __C.SharedObject' in:
  main.o
  second.o
ld: 1 duplicate symbols
```

rdar://129027705
2024-06-07 19:00:16 +01:00
swift-ci
2cf40fa5f6 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-07 10:14:25 -07:00
Arnold Schwaighofer
83ef1cde73 Merge pull request #74178 from aschwaighofer/objc_clsrolist
IRGen: Rename the section pointing to rodata of generic classes to __objc_clsrolist
2024-06-07 09:55:54 -07:00
Arnold Schwaighofer
f063c7e052 IRGen: Rename the section pointing to rodata of generic classes to __objc_clsrolist
Also emit it per default.

rdar://129299739
2024-06-06 06:39:26 -07:00
swift-ci
a523f4942e Merge remote-tracking branch 'origin/main' into rebranch 2024-06-05 20:14:34 -07:00
nate-chandler
40e8b155b0 Merge pull request #73859 from nate-chandler/lifetime-completion/20240523/1
[LifetimeCompletion] Mark lifetimes in dead-end loops.
2024-06-05 20:01:45 -07:00
Tim Kientzle
1d961ba22d Add #include "swift/Basic/Assertions.h" to a lot of source files
Although I don't plan to bring over new assertions wholesale
into the current qualification branch, it's entirely possible
that various minor changes in main will use the new assertions;
having this basic support in the release branch will simplify that.
(This is why I'm adding the includes as a separate pass from
rewriting the individual assertions)
2024-06-05 19:37:30 -07:00
swift-ci
aed40bd421 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-05 19:34:38 -07:00
Artem Chikin
d2ed753d52 Merge pull request #73907 from artemcm/ExplicitAutoLinkScanner
[Dependency Scanning] Collect and report each module dependency's Link Libraries
2024-06-05 19:26:34 -07:00
Nate Chandler
2a5d07522d [SIL] Add extend_lifetime instruction.
It indicates that the value's lifetime continues to at least this point.
The boundary formed by all consuming uses together with these
instructions will encompass all uses of the value.
2024-06-05 16:28:26 -07:00
artemcm
d70863501e [Dependency Scanning] Collect and report each module dependency's Link Libraries 2024-06-05 10:59:41 -07:00
swift-ci
c7472f456f Merge remote-tracking branch 'origin/main' into rebranch 2024-06-05 08:54:31 -07:00
Pavel Yaskevich
5d243bd8a2 [IRGen] Move marker protocol stripping from mangleTypeSymbol to mangleTypeForFlatUniqueTypeRef
The original check introduced by https://github.com/apple/swift/pull/71855
is too broad. For concrete metadata we call the runtime demangler so
we need to strip off marker protocols when mangling that string and
`mangleTypeForReflection` already does that.
2024-06-04 21:58:59 -07:00
Pavel Yaskevich
552749e2f3 [IRGen] Strip marker protocols when forming generic metadata requests
Without this might might end up with a single element protocol compositions
which are invalid.
2024-06-04 14:28:14 -07:00
swift-ci
66a4c36346 Merge remote-tracking branch 'origin/main' into rebranch 2024-06-03 03:36:17 -07:00
Kuba Mracek
399dbc97d5 [embedded] In -emit-empty-object-file mode, don't emit autolink entries 2024-06-01 10:20:18 -07:00
swift-ci
d23bfc9e6a Merge remote-tracking branch 'origin/main' into rebranch 2024-05-31 15:56:17 -07:00
Dario Rexin
2d0b19484f Merge pull request #74058 from drexin/wip-127535274
[IRGen] Assign layout strings for static layout generic types in meta…
2024-05-31 15:38:00 -07:00
Dario Rexin
8e2b0ec1d6 [IRGen] Assign layout strings for static layout generic types in metadata initialization function
rdar://127535274

The layout string needs to be assigned before completion, to make it available in recursive metadata initialization. Setting it in the completion function causes a race between other metadata initializers using it and the completion function running.
2024-05-31 11:24:01 -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
Holly Borla
135e3f2ee9 Merge pull request #73889 from hborla/deprecate-anyactor
[Concurrency] Deprecate `AnyActor`.
2024-05-30 09:36:35 -07:00
Holly Borla
c20b0e0956 [Concurrency] Obsolete AnyActor in Swift 6 using a typealias. 2024-05-29 22:59:19 -07:00
Alejandro Alonso
a9da08ccb6 Add option for raw layout to move as its like type 2024-05-28 14:34:22 -07:00
swift-ci
85ae379988 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-25 15:54:05 -07:00
Hamish Knight
cfdf35ff34 [IRGen] Fix SyncCallEmission::emitCallToUnmappedExplosion crash
We cannot `dyn_cast` directly to `ClassTypeInfo` since it does not
implement `classof`, so will succeed for any `ReferenceTypeInfo`.

rdar://128735092
2024-05-25 16:47:36 +01:00
swift-ci
74c6fdf3e7 Merge remote-tracking branch 'origin/main' into rebranch 2024-05-23 21:34:24 -07:00
Akira Hatanaka
b5cc5615bd [SILGen] Fix a crash when a closure is converted to a block returning a value indirectly (#73520) 2024-05-23 21:22:32 -07:00
Hamish Knight
782ae72efd Merge branch 'main' into merge-rebranch 2024-05-23 20:03:52 +01:00
Adrian Prantl
ece1256585 Merge pull request #73769 from Snowy1803/irgen-declare-all
[IRGenDebugInfo] Fix usage of dbg.declare
2024-05-23 09:22:39 -07:00
swift-ci
a9bcb33a0a Merge remote-tracking branch 'origin/main' into rebranch 2024-05-23 07:15:46 -07:00
Arnold Schwaighofer
69b635a25c Merge pull request #73791 from aschwaighofer/irgen_loadable_by_address_objc_method_closures
IRGen: Properly adjust the closure type of a partial_apply of an objc_method
2024-05-23 07:15:24 -07: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