Skip to content

[pull] swiftwasm from main #3808

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 29 commits into from
Oct 30, 2021
Merged

[pull] swiftwasm from main #3808

merged 29 commits into from
Oct 30, 2021

Conversation

pull[bot]
Copy link

@pull pull bot commented Oct 29, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

mikeash and others added 29 commits October 15, 2021 15:17
The definition of GenericMetadataCacheEntry was wrong, causing the function to return garbage.
Define the possible runtime effects of an instruction in an enum `RuntimeEffect`.
Add a new utility `swift:getRuntimeEffect` to estimate the runtime effects of an instruction.

Also, add a mechanism to validate the correctness of the analysis in IRGen: annotate all runtime functions in RuntimeFunctions.def with the actual effect what the runtime function has or can have. Then check if the effects of emitted runtime functions for an instruction match what `getRuntimeEffect` predicts.
This check is only enabled on demand by defining the CHECK_RUNTIME_EFFECT_ANALYSIS macro in RuntimeEffect.h
…rrorHandlingBlocks

* ReachingReturnBlocks: computes the set of blocks from which a path to the return-block exists (does not include paths to a throw-block)
* NonErrorHandlingBlocks: computes the set of blocks which are not used for error handling, i.e. not (exclusively) reachable from the error-block of a try_apply
This pass is only used for functions with performance annotations (@_noLocks, @_noAllocation).
It runs in the mandatory pipeline and specializes all function calls in performance-annotated functions and functions which are called from such functions.
In addition, the pass also does some other related optimizations: devirtualization, constant-folding Builtin.canBeClass, inlining of transparent functions and memory access optimizations.
…ions in annotated functions.

The PerformanceDiagnostics pass issues performance diagnostics for functions which are annotated with performance annotations, like @_noLocks, @_noAllocation.
This is done recursively for all functions which are called from performance-annotated functions.

rdar://83882635
…s to handle case where parent of concrete anchor is concrete

This still doesn't handle the case where a non-concrete anchor has a
concrete parent; that requires switching the archetype representation
to be "flat".

Fixes <rdar://problem/84734584>.
The test is failing on the "OSS - Swift (Tools Opt+Assert, Stdlib
DebInfo+Assert, Test Simulator) - macOS (main) bot."

https://ci.swift.org/job/oss-swift_tools-RA_stdlib-DA_test-simulator/1496
…ions

First prototype of Performance Annotations
…nly-builtin-test

Disable moveonly_builtin.swift test
…bootstrapping

libswift: fixes for the linux bootstrapping build
…apointer

[Reflection] Fix ReflectionContext::allocationMetadataPointer.
…eflection-metadata

swift-inspect: load reflection metadata and use it to print whether array metadata is of a class element type
…e-is-concrete

AST: GenericEnvironment::getOrCreateArchetypeFromInterfaceType() needs to handle case where parent of concrete anchor is concrete
…-swiftc-symbols

[Driver][SymbolGraph] add new flag -symbol-graph-minimum-access-level

rdar://79099869
@MaxDesiatov MaxDesiatov enabled auto-merge October 29, 2021 22:57
@MaxDesiatov MaxDesiatov merged commit c4b1010 into swiftwasm Oct 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants