Commit Graph

4391 Commits

Author SHA1 Message Date
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
Anton Korobeynikov
aa5b505014 Allow normal function results of @yield_once coroutines (#69843)
This adds SIL-level support and LLVM codegen for normal results of a coroutine.

The main user of this will be autodiff as VJP of a coroutine must be a coroutine itself (in order to produce the yielded result) and return a pullback closure as a normal result.

For now only direct results are supported, but this seems to be enough for autodiff purposes.
2024-02-06 22:13:15 -08:00
John McCall
2f8a33cf0a Experimental type-checking support for @isolated(any) function types. 2024-02-06 22:54:27 -05:00
Alastair Houghton
dd0b826235 [Runtime] Improved symbolication option for backtracing.
Rather than just on or off, I've changed it to allow "off", "fast",
or "full".  "fast" means that we'll do symbol lookup, but we won't
try to find inline frames and we won't run line number programs
(those are the things that are taking considerable time in some
cases).

rdar://122302117
2024-02-06 17:38:20 +00:00
Alastair Houghton
6c7aeeb5f2 [Docs] Updated Backtracing docs with new symbolicate setting.
Document the new `symbolicate` setting.

rdar://122302117
2024-02-05 13:05:11 +00:00
Erik Eckstein
fcd5225f39 Mangling: add mangling for outlined value operations which must not use value witness functions 2024-02-05 12:33:18 +01:00
Erik Eckstein
86f23b089f SIL: add the [perf_constraint] flag in SILFunction
Specifies that the optimizer and IRGen must not add runtime calls which are not in the function originally.
This attribute is set for functions with performance constraints or functions which are called from functions with performance.
2024-02-05 12:26:30 +01:00
Kuba (Brecka) Mracek
2fa1022a91 Merge pull request #70687 from kubamracek/embedded-docs1
[embedded] Add an initial docs/EmbeddedSwift/UserManual.md
2024-02-03 13:06:57 -08:00
Kuba Mracek
770496b1c0 [embedded] Add Pico integration tutorial 2024-02-02 22:37:45 -08:00
Kuba Mracek
0affaafac7 [embedded] Expand on the Embedded Swift documentation, fill in several TODOs 2024-02-02 21:50:09 -08:00
Michael Gottesman
369f441702 [SIL.rst] Update end_unpaired_access docs to make it clear it does not have a result. 2024-02-02 14:50:10 -08:00
Guillaume Lessard
114f235d17 Merge pull request #71167 from vanvoorden/vanvoorden/inclusive-language
[Inclusive Language][Comments][Documentation] migrate "sanity" checks to "soundness" checks
2024-02-02 10:27:34 -08:00
Michael Gottesman
6725caa06f Merge pull request #71221 from gottesmm/pr-2ebba2c62b8662dc2f5e21de219fc0f595ec97d9
[SIL.rst] Add textual examples for some of the pack instructions.
2024-01-29 17:19:29 -08:00
Michael Gottesman
904b1a91a6 [SIL.rst] Add textual examples for some of the pack instructions.
Just writing some tests for the pack instructions and I would have found having
a textual SIL example in SIL.rst of how to write them to be useful. Just paying
it forward.
2024-01-29 12:43:00 -08:00
Arnold Schwaighofer
01df0ca1ff Merge pull request #71092 from aschwaighofer/outline_enum_addr_insts
IRGen: Outline by-address SIL enum instructions
2024-01-29 07:10:25 -08:00
Rick van Voorden
f8ae46b3f3 [inclusive-language] changed sanity to soundness 2024-01-25 18:18:02 -08:00
Anthony Latsis
cb988a4899 [docs] GettingStarted: Restructure "The actual build" section 2024-01-26 01:39:15 +03:00
Arnold Schwaighofer
49e8ffb735 IRGen: Outline by-address SIL enum instructions
Use a heuristic to decide when to outline indirect enum operations.
2024-01-23 15:01:24 -08:00
Slava Pestov
4c275df6e5 Merge pull request #71087 from eltociear/patch-49
generics.tex: fix typo in generic-environments.tex
2024-01-23 11:55:29 -05:00
Andrew Trick
2ef870a52b Add LifetimeDependence utilities 2024-01-22 23:57:03 -08:00
Andrew Trick
37171e698a Handle mark_dependence [nonescaping] like a borrowing instruction. 2024-01-22 23:57:03 -08:00
Andrew Trick
3bf7e715e7 Add AddressUtils.swift 2024-01-22 23:42:54 -08:00
Ikko Eltociear Ashimine
05d5833e38 generics.tex: fix typo in generic-environments.tex
accomodates -> accommodates
2024-01-23 16:36:30 +09:00
Anthony Latsis
bed316f4cc [docs] GettingStarted: Default to "hosttools" bootstrapping mode on macOS 2024-01-19 20:53:31 +03:00
Andrew Trick
801000f85f Update SIL-Utilities.md for new ownership utils. 2024-01-17 09:07:02 -08:00
Ruslan Alikhamov
fd3557bf5a Added a note about RAM and disk space hardware requirements
commit bcc59744b7da00395708f41984ee2be70924cb6c
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Sat Jan 13 15:28:42 2024 +0400

    applied suggested phrasing

commit b5b0f9622a5dca80cf79df41e4834959021329ca
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Fri Jan 12 23:48:12 2024 +0400

    Added a note about hardware requirements for compiling on Linux

    commit 863c1d98dd8c3c3e67610fe9ea9ac00e161d687a
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Fri Jan 12 23:47:19 2024 +0400

        Moved note to Requirements section

    commit 307d0027967945cdc5c0d28b9c4525fc27149f66
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Wed Jan 10 19:45:54 2024 +0400

        Added a note about hardware requirements for compiling on Linux

        commit 943ccc2726aa2f8850f38670b848304acb3359aa
        Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
        Date:   Wed Jan 10 19:45:13 2024 +0400

            Replaced 'and' with 'plus' to ease comprehension

        commit 3427ace37d63d398542aa80be6c30a27a940eef9
        Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
        Date:   Thu Jan 4 21:02:22 2024 +0400

            Added a note about hardware requirements for compiling on Linux

            commit 49bafe98a3c938e83af3de351094b47650836aee
            Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
            Date:   Thu Jan 4 20:49:35 2024 +0400

                Added "of RAM" to each reference

            commit 9dc879cb30e9c9507d78d5de3a1d0de2808979c6
            Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
            Date:   Thu Jan 4 14:13:20 2024 +0400

                Updated text according to comment, removed mention of VM for Linux

            commit b652195dcbedc7fa3a770075457880d544a78a60
            Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
            Date:   Wed Jan 3 00:06:18 2024 +0400

                Added more information about different RAM requirements

            commit 2aa1be00ce6ab66f50928484727e684a9eb5c243
            Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
            Date:   Mon Jan 1 03:19:22 2024 +0400

                Added a note about Linux inside of a VM hardware requirements
2024-01-13 15:29:27 +04:00
Erik Eckstein
04a6bbbb7a docs: add documentation for the -sil-pass-count-config-file option in DebuggingTheCompiler
Also, add this option in swift-autocomplete.bash.
Unrelated: support aliased commands in swift-autocomplete.bash
2024-01-11 11:10:05 +01:00
Erik Eckstein
bc99986cf9 SIL: add a dependency token operand to global_addr
Optionally, the dependency to the initialization of the global can be specified with a dependency token `depends_on <token>`.
This is usually a `builtin "once"` which calls the initializer for the global variable.
2024-01-10 09:33:58 +01:00
Andrew Trick
264cbaea42 Add mark_dependence [nonescaping] flag.
The dependent 'value' may be marked 'nonescaping', which guarantees that the
lifetime dependence is statically enforceable. In this case, the compiler
must be able to follow all values forwarded from the dependent 'value', and
recognize all final (non-forwarded, non-escaping) use points. This implies
that `findPointerEscape` is false. A diagnostic pass checks that the
incoming SIL to verify that these use points are all initially within the
'base' lifetime. Regular 'mark_dependence' semantics ensure that
optimizations cannot violate the lifetime dependence after diagnostics.
2024-01-04 14:47:35 -08:00
Kuba Mracek
31f821a455 [embedded] Add an initial docs/EmbeddedSwift/UserManual.md 2024-01-03 15:21:22 +01:00
SooHwanCho
6c6026ffb9 fix syntax error in generics.bib 2023-12-30 21:13:43 +09:00
Michael Gottesman
58a6e2aa4d [region-isolation] Add Asserting support for {alloc,dealloc}_pack_metadata since they only appear in Lowered SIL.
I also added a note to the SIL.rst and an assert into the SILVerifier to better
document this requirement.
2023-12-18 12:35:40 -08:00
Pavel Yaskevich
931342c76a Merge pull request #70374 from finagolfin/nux
[docs] GettingStarted: Update the linux instructions to use a prebuilt Swift compiler
2023-12-14 10:41:16 -08: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