swift-ci
f8b18eb54c
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-02 23:54:09 -07:00
John McCall
2c6e0efb9c
Suppress @isolated(any) in reflective metadata strings on old targets
...
Fix another aspect of rdar://129861211
2024-07-02 18:12:20 -04:00
Ben Barham
8e9ac93bd3
[IRGen] Use ConstantInt for otherDiscriminator
2024-07-01 14:52:51 -07:00
Ben Barham
4ee4c0fbac
[IRGen] Use new ASSERT macro over requires
...
`requires` was removed and replaced with `ASSERT`.
2024-07-01 14:52:51 -07:00
Ben Barham
a6cf31036a
Add AMDGPU builtin handling
2024-07-01 14:52:51 -07:00
swift-ci
1c7daa9a91
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-01 14:38:34 -07:00
Egor Zhdan
75a00adcf0
Merge pull request #74625 from swiftlang/egorzhdan/upstream-ptrauth-vwt
...
[IRGen] Upstream pointer auth for value witness tables
2024-07-01 22:17:59 +01:00
swift-ci
287d711d03
Merge remote-tracking branch 'origin/main' into rebranch
2024-07-01 11:14:00 -07:00
Egor Zhdan
b22057e637
[IRGen] Upstream pointer auth for value witness tables
...
This makes Swift emit a signed pointer to the value witness table in type metadata.
The original change was done by Varun Gandhi.
2024-07-01 16:38:06 +01:00
susmonteiro
e86099c26d
[cxx-interop] Implements constructor for std::span from UnsafeBufferPointer
...
Tests: init span from UnsafeBufferPointer, for loop, map, filter, init Array from span, span of strings
2024-07-01 16:07:28 +01:00
swift-ci
147a2a7947
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-29 07:34:58 -07:00
Dario Rexin
b7c241df8e
Merge pull request #74717 from drexin/wip-128870792
...
[IRGen] Fetch the correct IGM for synthesized files
2024-06-29 07:33:17 -07:00
swift-ci
9a10a6c56a
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-28 23:34:18 -07:00
Dario Rexin
22fec31574
[IRGen] Properly convert between ptr and int in typed error mapping
...
rdar://130781414
2024-06-28 16:29:10 -07:00
Dario Rexin
b38a1b7ce7
[IRGen] Always apply error value mapping properly for direct returning typed throws
...
rdar://130783369
The missing mapping causes the wrong element to be used when the offsets are different.
2024-06-28 16:18:22 -07:00
swift-ci
f2e68e5db1
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-28 11:36:11 -07:00
Ben Barham
d8f381e660
Merge pull request #74804 from bnbarham/rename-equals
...
Update `StringRef::equals` references to `operator==`
2024-06-28 11:22:20 -07:00
Dario Rexin
d33f2c4ba1
[IRGen] Fetch the correct IGM for synthesized files
...
rdar://128870792
Synthesized files are treated as not having a parent source file, but that can cause issues for macro code. The declarations will have the source file of their use site declared as parent source file, which means they should be emitted into the same IGM. If we don't use the correct IGM, we can get inconsistencies when referencing the generated code, which will cause linking issues.
2024-06-28 11:07:38 -07:00
Ben Barham
d72f5b12c4
Update StringRef::equals references to operator==
...
`equals` has been deprecated upstream, use `operator==` instead.
2024-06-27 19:14:06 -07:00
Ben Barham
b7954411ec
Merge remote-tracking branch 'origin/main' into manually-merge-main-to-rebranch
...
Conflicts:
- `include/swift/AST/PluginRegistry.h`
2024-06-27 14:56:11 -07:00
Akira Hatanaka
42bc49d3fe
Add a new parameter convention @in_cxx for non-trivial C++ classes that are passed indirectly and destructed by the caller ( #73019 )
...
This corresponds to the parameter-passing convention of the Itanium C++
ABI, in which the argument is passed indirectly and possibly modified,
but not destroyed, by the callee.
@in_cxx is handled the same way as @in in callers and @in_guaranteed in
callees. OwnershipModelEliminator emits the call to destroy_addr that is
needed to destroy the argument in the caller.
rdar://122707697
2024-06-27 09:44:04 -07:00
Alex Lorenz
af36238004
Merge pull request #74640 from hyp/eng/virtual-destructor-vtable-ref-irgen-linux-android
...
[cxx-interop] ensure that the body of implicit virtual destructor is …
2024-06-26 10:32:51 -07:00
Alex Lorenz
9c4232c89d
Merge pull request #74722 from hyp/eng/destructor-cxx-interop-exc-cleanup
...
[cxx-interop] ensure destructors referenced only by the exception cle…
2024-06-26 10:32:27 -07:00
Alex Lorenz
781a9fc1aa
[cxx-interop] ensure destructors referenced only by the exception cleanup landing pad in the constructor's initializer are picked up to be candidates for potential emission into one LLVM IR module
...
A C++ record destructor that is called implicitly in the landing pad cleanup code of a constructor after a field is initialized might only be referenced there, so the Clang decl finder should pick it up when scanning the AST for interesting Decls that might have to be emitted into one LLVM IR module.
2024-06-25 22:13:19 -07:00
Alex Lorenz
f4949bd8dc
fix
2024-06-25 18:22:40 -07:00
swift-ci
553ec4a48f
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-25 07:14:35 -07:00
Kuba Mracek
bda0c904ef
[embedded] Fix crash when using failable initializers on generic classes
2024-06-24 20:36:02 -07:00
swift-ci
340103be51
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-24 07:55:18 -07:00
Joe Groff
179a1253a7
Merge pull request #74604 from jckarter/conformance-descriptor-invertible-conditional-requirements
...
IRGen: Don't encode conditional requirements to Copyable as normal conformance requirements.
2024-06-24 07:37:33 -07:00
swift-ci
847f915d2e
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-22 07:14:46 -07:00
Adrian Prantl
a03fcb5ff0
Merge pull request #74621 from adrian-prantl/126688061
...
Fix a regression that caused the compiler to drop the path names of g…
2024-06-22 07:14:27 -07:00
swift-ci
4213be1cb9
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-22 02:55:53 -07:00
Dario Rexin
35b2b71475
Merge pull request #74192 from drexin/wip-typed-throws-abi
...
[IRGen] Return typed errors directly in synchronous functions when po…
2024-06-22 02:35:10 -07:00
Adrian Prantl
c9f5af5617
Fix a regression that caused the compiler to drop the path names of generated
...
macro expansion source code when emitting DWARF 4 or earlier.
rdar://126688061
2024-06-21 18:58:11 -07:00
Alex Lorenz
cd1ca50c63
[cxx-interop] ensure that the body of implicit virtual destructor is defined before emitting the clang decl for it
...
This ensures that the destructor definition is emitted into the module's LLVM IR, fixing a linker error.
2024-06-21 17:00:15 -07:00
Dario Rexin
3d4163a319
Address review feedback
2024-06-21 16:00:26 -07:00
Joe Groff
73e4c6fecd
IRGen: Don't encode conditional requirements to Copyable as normal conformance requirements.
...
For new runtimes, this is redundant with the invertible requirement encoding, and for
old runtimes, this breaks dynamic conformance checking because Copyable and Escapable
aren't real protocols on those older runtimes. Fixes rdar://129857284.
2024-06-20 19:01:03 -07:00
Xi Ge
736ccef626
Merge remote-tracking branch 'apple/main' into rebranch
2024-06-20 15:16:55 -07:00
Tim Kientzle
598e5104ef
Merge pull request #74184 from tbkka/tbkka-assertions2
...
Add `#include "swift/Basic/Assertions.h"` to a lot of source files
2024-06-20 12:13:28 -07:00
swift-ci
e4e79345ad
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-19 21:14:11 -07:00
Kuba (Brecka) Mracek
70c54bb739
Merge pull request #74551 from kubamracek/embedded-static-objects
...
[embedded] Enable read-only static array promotion in embedded mode
2024-06-19 21:07:06 -07:00
swift-ci
6952603d83
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-19 16:53:51 -07:00
Arnold Schwaighofer
bddc50ef9e
LargeTypesReg2Mem: Handle mark_dependence
...
This instruction is a no-op. We can just delete it.
rdar://129873110
2024-06-19 09:36:43 -07:00
Kuba Mracek
62d7167c3f
[embedded] Enable read-only static array promotion in embedded mode
2024-06-19 09:16:04 -07:00
Tim Kientzle
1098054291
Merge branch 'main' into tbkka-assertions2
2024-06-18 17:52:00 -07:00
swift-ci
08c89c3ee6
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-18 09:14:51 -07:00
Akira Hatanaka
d92f181ace
Create two versions (for caller and callee) of the functions that answer questions about parameter convention ( #74124 )
...
Create two versions of the following functions:
isConsumedParameter
isGuaranteedParameter
SILParameterInfo::isConsumed
SILParameterInfo::isGuaranteed
SILArgumentConvention::isOwnedConvention
SILArgumentConvention::isGuaranteedConvention
These changes will be needed when we add a new convention for
non-trivial C++ types as the functions will return different answers
depending on whether they are called for the caller or the callee. This
commit doesn't change any functionality.
2024-06-18 09:06:09 -07:00
swift-ci
0bbe4a8055
Merge remote-tracking branch 'origin/main' into rebranch
2024-06-17 10:14:25 -07:00
Egor Zhdan
7c165272c5
Merge pull request #71396 from apple/egorzhdan/cxx-std-function
...
[cxx-interop] Allow initializing `std::function` from Swift closures
2024-06-17 12:31:56 +01:00
Dario Rexin
d9bc2cb2fa
[IRGen] Return typed errors directly in synchronous functions when possible
...
rdar://129359355
This PR implements the basic support for returning typed errors directly and applies it to synchronous functions.
2024-06-14 17:20:01 -07:00