Skip to content

Commit 02864f6

Browse files
Merge pull request #1959 from swiftwasm/katei/manual-merge-2020-10-08
Manual merge 2020/10/08
2 parents 427117f + 63a7ae3 commit 02864f6

File tree

158 files changed

+4839
-1498
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+4839
-1498
lines changed

.github/workflows/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- name: Free disk space
2020
run: |
2121
df -h
22-
sudo apt-get purge libgcc-9-dev gcc-9 libstdc++-9-dev
22+
sudo apt-get purge libgcc-9-dev gcc-9 libstdc++-9-dev clang-6.0 llvm-6.0
2323
sudo swapoff -a
2424
sudo rm -f /swapfile
2525
sudo rm -rf /opt/hostedtoolcache

apinotes/os.apinotes

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,5 @@ Functions:
6363
SwiftPrivate: true
6464
NullabilityOfRet: O
6565
- Name: _os_signpost_emit_with_name_impl
66-
Availability: nonswift
67-
AvailabilityMsg: 'Use os_signpost'
66+
SwiftPrivate: true
67+
NullabilityOfRet: O

docs/DebuggingTheCompiler.md

+16
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ benefit of all Swift developers.
3030
- [Debugging the Compiler using advanced LLDB Breakpoints](#debugging-the-compiler-using-advanced-lldb-breakpoints)
3131
- [Debugging the Compiler using LLDB Scripts](#debugging-the-compiler-using-lldb-scripts)
3232
- [Custom LLDB Commands](#custom-lldb-commands)
33+
- [Debugging at LLVM Level](#debugging-at-llvm-level)
34+
- [Options for Dumping LLVM IR](#options-for-dumping-llvm-ir)
3335
- [Bisecting Compiler Errors](#bisecting-compiler-errors)
3436
- [Bisecting on SIL optimizer pass counts to identify optimizer bugs](#bisecting-on-sil-optimizer-pass-counts-to-identify-optimizer-bugs)
3537
- [Using git-bisect in the presence of branch forwarding/feature branches](#using-git-bisect-in-the-presence-of-branch-forwardingfeature-branches)
@@ -537,6 +539,20 @@ to define custom commands using just other lldb commands. For example,
537539

538540
(lldb) command alias cs sequence p/x $rax; stepi
539541

542+
## Debugging at LLVM Level
543+
544+
### Options for Dumping LLVM IR
545+
546+
Similar to SIL, one can configure LLVM to dump the llvm-ir at various points in
547+
the pipeline. Here is a quick summary of the various options:
548+
549+
* ``-Xllvm -print-before=$PASS_ID``: Print the LLVM IR before a specified LLVM pass runs.
550+
* ``-Xllvm -print-before-all``: Print the LLVM IR before each pass runs.
551+
* ``-Xllvm -print-after-all``: Print the LLVM IR after each pass runs.
552+
* ``-Xllvm -filter-print-funcs=$FUNC_NAME_1,$FUNC_NAME_2,...,$FUNC_NAME_N``:
553+
When printing IR for functions for print-[before|after]-all options, Only
554+
print the IR for functions whose name is in this comma separated list.
555+
540556
## Bisecting Compiler Errors
541557

542558
### Bisecting on SIL optimizer pass counts to identify optimizer bugs

docs/RequestEvaluator.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,4 @@ The request-evaluator is relatively new to the Swift compiler, having been intro
8080
* Port higher-level queries (e.g., those that come from SourceKit) over to the request-evaluator, so we can see the dependencies of a given SourceKit request for testing and performance tuning.
8181

8282
## Prior art
83-
Rust's compiler went through a similar transformation to support [demand-driven compilation](https://rust-lang-nursery.github.io/rustc-guide/query.html). We should learn from their experience!
83+
Rust's compiler went through a similar transformation to support [demand-driven compilation](https://rustc-dev-guide.rust-lang.org/query.html). We should learn from their experience!

include/swift/AST/ASTContext.h

+3
Original file line numberDiff line numberDiff line change
@@ -694,6 +694,9 @@ class ASTContext final {
694694
/// generic metadata.
695695
AvailabilityContext getIntermodulePrespecializedGenericMetadataAvailability();
696696

697+
/// Get the runtime availability of support for concurrency.
698+
AvailabilityContext getConcurrencyAvailability();
699+
697700
/// Get the runtime availability of features introduced in the Swift 5.2
698701
/// compiler for the target platform.
699702
AvailabilityContext getSwift52Availability();

0 commit comments

Comments
 (0)