Adrian Prantl
76bbea6070
Merge pull request #73122 from adrian-prantl/sil-howto-debuginfo
...
Add the beginning of a Debug Info guide for SIL pass authors.
2024-04-19 17:39:22 +02:00
Adrian Prantl
22afb55fb5
Add the beginning of a Debug Info guide for SIL pass authors.
...
This document describes how debug info works at the SIL level and how to
correctly update debug info in SIL optimization passes. This document is
inspired by its LLVM analog, "How to Update Debug Info: A Guide for LLVM Pass
Authors", which can be found at https://llvm.org/docs/HowToUpdateDebugInfo.html
2024-04-18 16:18:20 -07:00
Erik Eckstein
ac4bc89c9a
SIL: add the borrowed-from instruction.
...
It declares from which enclosing values a guaranteed phi argument is borrowed from.
2024-04-10 13:38:10 +02:00
Emil Pedersen
512ac6cc31
Merge pull request #72860 from Snowy1803/salvage-debug-info-tuple
...
[DebugInfo] Salvage debug info for tuples
2024-04-05 20:16:24 -07:00
Michael Gottesman
0922665c05
[Debugging The Compiler.md] Add documentation that says how to lookup Windows Error Codes
...
Specifically, I put information about the system error code lookup tool and links to Microsoft's documentation.
2024-04-05 13:39:14 -07:00
Slava Pestov
480592a7d5
Merge pull request #72847 from slavapestov/fix-rdar123645784
...
Fix two problems with opaque return types -vs- parameter packs
2024-04-05 07:31:34 -04:00
Anthony Latsis
f7ce9a79d6
Merge pull request #72729 from AnthonyLatsis/contributor-experience-help
2024-04-05 11:36:36 +03:00
Emil Pedersen
efa09088ac
Revert "[DebugInfo][SIL] Introduce the 'implicit' attribute for debug variable"
...
This reverts commit e63632fda8 .
rdar://125939953
2024-04-04 17:23:32 -07:00
Slava Pestov
270be443b2
ASTMangler: Support for pack conformances
...
The names of the private witness table accessor thunks we generate for
an opaque return type mangle the concrete conformance of the underlying
type.
If a conformance requirement of the opaque return type was witnessed by
a conditional conformance of a variadic generic type, we would crash
because of an unimplemented case in the mangler.
Fixes rdar://problem/125668798.
2024-04-04 19:35:36 -04:00
Meghana Gupta
0cddd69415
Merge pull request #72780 from meg-gupta/enablesilcombineossa
...
Enable inject_enum_addr silcombine in ossa
2024-04-03 15:59:22 -07:00
Meghana Gupta
c30eea156f
Verify switch_value has int operands only
2024-04-03 10:30:55 -07:00
Anthony Latsis
f1732b1eb4
[docs] FirstPullRequest: Ask people to reach out to CEW members for help on GitHub
...
This is easier than messaging the workgroup on the forums
2024-03-30 20:52:28 +03:00
Doug Gregor
be7b5b6d6a
Merge pull request #72692 from DougGregor/future-proof-invertible-mangling
...
Future-proof the mangling of invertible protocols
2024-03-29 08:10:01 -07:00
Becca Royal-Gordon
576a4bac36
Merge pull request #72596 from beccadax/objcimpl-real-name
...
Add @implementation and feature flags for objcImpl
2024-03-28 23:48:24 -07:00
Meghana Gupta
4a0f3809af
Merge pull request #72684 from meg-gupta/fixlifetimedemangling
...
Fix lifetime dependence demangling and add a new Sema diagnostic
2024-03-28 22:43:49 -07:00
Doug Gregor
757ebe2979
Future-proof the mangling of invertible protocols
...
Invertible protocols are currently always mangled with `Ri`, followed by
a single letter for each invertible protocol (e.g., `c` and `e` for
`Copyable` and `Escapable`, respectively), followed by the generic
parameter index. However, this requires that we extend the mangling
for any future invertible protocols, which mean they won't be
backward compatible.
Replace this mangling with one that mangles the bit # for the
invertible protocol, e.g., `Ri_` (followed by the generic parameter
index) is bit 0, which is `Copyable`. `Ri0_` (then generic parameter
index) is bit 1, which is `Escapable`. This allows us to round-trip
through mangled names for any invertible protocol, without any
knowledge of what the invertible protocol is, providing forward
compatibility. The same forward compatibility is present in all
metadata and the runtime, allowing us to add more invertible
protocols in the future without updating any of them, and also
allowing backward compatibility.
Only the demangling to human-readable strings maps the bit numbers
back to their names, and there's a fallback printing with just the bit
number when appropriate.
Also generalize the mangling a bit to allow for mangling of invertible
requirements on associated types, e.g., `S.Sequence: ~Copyable`. This
is currently unsupported by the compiler or runtime, but that may
change, and it was easy enough to finish off the mangling work for it.
2024-03-28 21:26:13 -07:00
Kuba (Brecka) Mracek
095173aed6
Merge pull request #72687 from kubamracek/embedded-update-status4
...
[embedded] Update KeyPath status in EmbeddedSwiftStatus.md
2024-03-28 20:25:51 -07:00
Kuba Mracek
43f8ffaff3
[embedded] Update KeyPath status in EmbeddedSwiftStatus.md
2024-03-28 16:23:37 -07:00
Meghana Gupta
bc0b884609
Fix demangling of lifetime dependence when other function annotations like throws etc are present
...
It was demangled in the wrong order previously.
2024-03-28 14:58:06 -07:00
Cyandev
f8ea920c05
Fix broken table in CallConvSummary.rst
2024-03-28 16:42:00 +08:00
Becca Royal-Gordon
2a53433ad7
Soften @impl warnings only for early adopters
...
Adopting @implementation turns all of the warnings into errors.
2024-03-27 14:29:57 -07:00
Anton Korobeynikov
d84847ac9d
Reland Allow normal function results of @yield_once coroutines ( #71645 )
...
* Allow normal function results of @yield_once coroutines
* Address review comments
* Workaround LLVM coroutine codegen problem: it assumes that unwind path never returns.
This is not true to Swift coroutines as unwind path should end with error result.
2024-03-27 13:09:02 -07:00
Takumi Muraishi
59b25c4b7d
Fix typo fierst to first
2024-03-20 08:42:16 +09:00
Kuba Mracek
4389ae2dc8
[embedded] Add language feature list to EmbeddedSwiftStatus.md
2024-03-16 13:26:25 -07:00
Kuba Mracek
48b8228acd
[embedded] Start building Synchronization in embedded Swift mode
2024-03-13 10:07:37 -07:00
Joe Groff
5a326a1465
Merge pull request #72193 from jckarter/memory-lifetime-verifier-nondestructive-enum-addr
...
MemoryLifetimeVerifier: Treat only destructive enum_data_addr insns as writes.
2024-03-11 21:16:59 -07:00
Joe Groff
2722f1adcd
MemoryLifetimeVerifier: Treat only destructive enum_data_addr insns as writes.
...
It is ok to project the data from an enum in cases where we know spare bit
packing can never happen. Fixes rdar://124240723.
2024-03-11 09:49:57 -07:00
Nate Chandler
3dbeebaa9b
[SIL] Add var_decl flag to alloc_stack.
2024-03-08 22:28:22 -08:00
Emil Pedersen
7c9a8769a1
Merge pull request #72072 from Snowy1803/tuple-fragments
...
Add support for op_tuple_fragment in SIL DIExpression and SIL SROA
2024-03-06 15:20:08 -08:00
eeckstein
d1ec089c72
Merge pull request #72088 from language-core/main
...
chore: fix some comments
2024-03-06 10:08:50 +01:00
Kavon Farvardin
215bd3cab4
Mangling: handle inverse requirements
2024-03-05 14:19:00 -08:00
cui fliter
127077b3aa
chore: fix some comments
...
Signed-off-by: cui fliter <imcusg@gmail.com >
2024-03-05 17:23:22 +08:00
Emil Pedersen
35e346fd8d
Add support for op_tuple_fragment in SIL DIExpression and SIL SROA
...
rdar://124034536
2024-03-04 15:46:02 -08:00
Alex Hoppen
80c858fad4
Merge pull request #72031 from ahoppen/ahoppen/lsan-documentation
...
Improve documentation on how to debug LSAN failures
2024-03-01 23:53:48 -08:00
Alex Hoppen
eac640590c
Improve documentation on how to debug LSAN failures
2024-03-01 17:31:01 -08:00
Finagolfin
09ef130457
[android] Update to LTS NDK 26c
...
NDK 26 renamed the directory in which it places the Android compiler-rt from
`lib64/`, and added a bunch of nullability annotations to the Bionic libc.
2024-02-28 22:11:38 +05:30
Mishal Shah
9b14570a7f
Add support for Swift Test WebAssembly
2024-02-23 10:41:37 -08:00
Mishal Shah
af112c1591
Update the Swift version to 6.0 from 5.11
2024-02-19 17:47:16 -08:00
Alejandro Alonso
0c05f82132
Merge pull request #71622 from Azoy/indirect-abi-no-go
...
[docs] Mention indirect in library evolution doc for enums
2024-02-15 10:30:50 -08:00
Meghana Gupta
0fd6ef3309
Add support for lifetime dependence mangling
2024-02-14 13:16:31 -08:00
Alejandro Alonso
be4cac5c65
Mention indirect in library evolution doc for enums
...
Update LibraryEvolution.rst
2024-02-14 12:56:07 -08:00
Erik Eckstein
6e8b80c791
SIL: add printing and parsing support for specialized vtables
...
If the vtable refers to a specialized class, a SIL type specifies the bound generic class type:
```
sil_vtable $G<Int> {
// ...
}
```
2024-02-14 09:51:36 +01:00
Anthony Latsis
5dac5e2f79
Merge pull request #70658 from art-divin/improve-getting-started-linux-vm
...
Add a note about hardware requirements for compiling on Linux
2024-02-14 00:29:13 +03:00
John McCall
d5142668f4
SIL and IRGen support for @isolated(any). SILGen to come.
2024-02-13 03:04:13 -05:00
Kuba (Brecka) Mracek
6657349552
Merge pull request #71523 from kubamracek/embedded-docs3
...
[embedded] Update UserManual.md and EmbeddedSwiftStatus.md with some additional information
2024-02-12 16:44:55 -08:00
Anthony Latsis
bc132da5d9
Merge pull request #71013 from AnthonyLatsis/getting-started-hosttools-bootstrapping
2024-02-12 23:59:53 +03:00
Kuba Mracek
fa193fac80
[embedded] Update UserManual.md and EmbeddedSwiftStatus.md with some additional information
2024-02-09 14:05:24 -08:00
Alastair Houghton
9d2dcb5c4e
Merge pull request #71386 from al45tair/eng/PR-122302117
...
[Runtime] Add an option to produce non-symbolicated backtraces.
2024-02-08 11:14:26 +00:00
Nate Cook
e317febc9d
Revert "Allow normal function results of @yield_once coroutines ( #69843 )"
...
This reverts commit aa5b505014 .
2024-02-07 14:57:31 -06:00
John McCall
60807a76a4
Merge pull request #71433 from rjmccall/isolated-any-typechecking
...
Experimental type-checking support for `@isolated(any)` function types.
2024-02-07 14:07:53 -05:00