forked from swiftlang/swift
-
Notifications
You must be signed in to change notification settings - Fork 30
[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
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The definition of GenericMetadataCacheEntry was wrong, causing the function to return garbage.
…to enable performance annotations
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
…s into a separate utility.
… into stand-alone utility functions
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.
…iagnostics in the passed closure.
…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
approved these changes
Oct 29, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )