[pull] katei/swiftwasm from swiftwasm#17
Merged
Conversation
The find functions do not require the generic Value parameter. Moving them to __RawDictionaryStorage allows to define them with only one generic parameter: the Key. This allows the optimizer to share specializations for dictionaries which have the same Key, but a different Value. Also, prevent inlining of the find-functions to save some additional code size.
…ct type context Resolves: rdar://problem/50666427
This was causing issues with MSVC. Have subclasses be friends with all specializations of AnyRequestBase, and define `getRawStorage` in the base class to make it accessible to `friend` top-level functions.
The `add_swift_target_executable` is used in a single case, where it is already being built in a standard library only build. This removes the unnecessary condition in the build path.
This parameter is unused. Simply remove the option from the `add_swift_sourcekit_executable`.
This moves the handling of the RPATH and the exported symbol to the binary themselves. The exported symbol is needed due to the use of the exported symbol list. This makes the small difference that `_main` is always exported on Darwin which is not strictly needed in ASAN as ASAN provides the entry point. The RPATH is only setup on installation which is sufficient for testing purposes as CMake ensures that the libraries are fully linked and will be loaded properly when run from the build tree.
This allows us to use CMake more effectively rather than proliferating the linking and header search path logic.
Use the imported library to track header search path and library search paths and dependencies rather than replicating that knowledge.
The `@noDerivative` attribute marks the non-differentiability parameters of a `@differentiable` function type. All parameters except those marked with `@noDerivative` are differentiability parameters. For example, `@differentiable (Float, @noDerivative Float) -> Float` is only differentiable with respect to its first parameter. The `@noDerivative` attribute is represented as a `SILParameterDifferentiability` bit on `SILParameterInfo`. Add round-trip serialization tests. Resolves TF-872.
Add SILGen test.
Noticed via code inspection. This could potentially miscompile, but we haven't seen that happen to my knowledge. Both value_to_bridge_object and strong_copy_XXX need to escape their resulting value. The implementation seemed to assume that it is conservatively correct simply to avoid building a connection graph node for an value. This is *not* true. Any value that has a pointer type requires a connection graph node. The only way to be conservative is to create the value node *and* point it to an escaping content node. We can always declare that certain special types are not considered pointer types, but then we need to handle all conversions from those types to pointer types by escaping the resulting pointer. BridgeObjects are often on the performance-critical path.
This verification would have prevented the following recent miscompilation: commit fbe38ce Fix EscapeAnalysis losing precision during merge.
Move constraint generation for statement conditions onto the constraint system; it doesn't really have any reason to be located within the function builder transform.
Availability checks in if statements don't need any actual semantic checking, so enable them within function builders.
…n Python formatting.
…ndResize into a separate function For code size reduction.
…_DISTCC environment variable.
…thod to account for macCatalyst.
In af0247e, this assert was partially disabled and therefore the assert build compiler abandons large temporary files that need to wait for /tmp to be cleaned days or weeks later, if at all.
Re-apply "Don't heap allocate for active requests"
[IRGen] Fully disable an assert that leaves junk in /tmp
build: add imported library for libedit
…il-diff-param [AutoDiff upstream] Add `@noDerivative` flag to `SILParameterInfo`.
…check-script [Gardening] Update the utils/backtrace-check script to use more modern Python formatting.
…f-available [Function builders] Add support for "if #available".
We’ll want to pull these back out for diagnostic purposes.
Set the contextual type of conditional expressions (to Bool) with the
"condition" purpose so we get customized diagnostics for mistakes such
as
if x.property = y { }
Prior to this, we'd get generic "() isn't convertible to Bool"
diagnostic. Now we get
use of '=' in a boolean context, did you mean '=='?
Turn off speculative devirtualization by default. Add a flag to support enabling the pass. Fixes rdar://58778959 and rdar://58429282
…y-script [Gardening] Remove the unused utils/build-overlay script.
…o-cases-script [Gardening] Remove the unused utils/error_enum_to_cases.pl script.
…-swift-script [Gardening] Remove the unused utils/guard-malloc-swift script.
[Build System: build-script] Allow users to enable distcc via the USE_DISTCC environment variable.
When doing header interface generation, we interpret clang command-line arguments in `initInvocationByClangArguments` and attempt to setup a matching Swift compiler invocation. One important argument is the module cache, but clang will only interpret `-fmodules-cache-path` if modules are enabled (typically with `-fmodules`). While the header itself might not need modules, Swift will import its own shims module and during testing this needs to honour lit's provided cache. So we add -fmodules in sourcekitd-test anytime we add -fmodules-cache-path. rdar://58836540
…ons-for-function-builders [Constraint system] Set the contextual type for condition expressions.
build: remove `SWIFT_BUILD_STDLIB` check (NFC)
stdlib: move Dictionary's find functions into __RawDictionaryStorage.
[sourcekitd-test] When setting -fmodules-cache-path also set -fmodules
[CSDiag] Start chipping away at FailureDiagnosis::diagnoseAmbiguity
…identity-expr-csdiag [Diagnostics] Remove obsolete FailureDiagnosis::visitIdentityExpr from CSDiag
…lMembers() and lazy loading Lazy loading checked if the ClangDecl was hidden, but loading all members did not. Let's make loadAllMembers() behave like the lazy path, and fix some of the mock SDKs in the test suite.
Metadata prespecialization will be available after Swift 5.2.
…platform [Build System: build-script] Update the DarwinPlatform.is_embedded method to account for macCatalyst.
…ng-inconsistency ClangImporter: Reconcile Clang declaration hidden-ness between loadAllMembers() and lazy loading
…a-prespecialization-components/future-availability [metadata prespecialization] Future availability.
kateinoigakukun
pushed a commit
that referenced
this pull request
Jan 25, 2020
It would be convenient if packaged SDK and result of the smoke test were uploaded as artifacts of the CI run and become downloadable for later use. * Add more logging to the smoke test * Add a newline to main.yml * Upload packages and hello.wasm as CI artifacts * Normalize filenames for swiftwasm-package-sdk * Add macos_smoke_test job
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
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]. Want to support this open source service? Please star it : )