Skip to content

Merge 2020-06-02 into tensorflow #32146

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 231 commits into from
Jun 4, 2020
Merged

Merge 2020-06-02 into tensorflow #32146

merged 231 commits into from
Jun 4, 2020

Conversation

xihui-wu
Copy link

@xihui-wu xihui-wu commented Jun 2, 2020

No description provided.

valeriyvan and others added 30 commits April 18, 2020 16:04
…odule.

This is important, for example, for linking correctly to the C++
standard library on Windows, which uses `#pragma comment(lib, ...)` in
its headers to specify the correct library to link against.
Make the note on needing to adjust `PYTHON_EXECUTABLE` more prominent, and repeat in in the place where that argument actually needs to be adjusted.
…hr).

Ubuntu 20.04 LTS is out now; the last version to support 14.04 was Swift 5.1,
so it is ok to delete this.
Added note on which edition of Visual Studio to get.
…nbound Objective-C generic for bound ones

IRGen does so. So don't assert on this case.

rdar://63509292
Previously, whenever name lookup returned two declarations with the same
name, we would compute the canonical type of each one as part of the
shadowing check.

The canonical type calculation is rather expensive for GenericFunctionTypes
since it requires constructing a GenericSignatureBuilder to canonicalize
type parameters that appear in the function's signature.

Instead, let's first shard all declarations that have the same name by
their generic signature. If two declarations have the same signature, only
then do we proceed to compute their canonical type.

Since computing a canonical GenericSignature is cheaper than computing a
canonical GenericFunctionType, this should speed up name lookup of
heavily-overloaded names, such as operators.

Fixes <rdar://problem/56800097>.
Using a SetVector fixes an issue where many source files imported the
same SPI group from the same module, the emitted private textual
interfaces superfluously repeated the `@_spi` attribute on the import.

rdar://problem/63681845
Remove reference to the latest release.
Also remove some ancient logic to detect and ignore requests to use LLD.
If people want to explicitly use LLD, they probably have a reason and we
shouldn't second guess them.
This code is only used on one side of a if/else branch, so let's
just move it inside the `else` block.
The reasons for disabling it appear to now be
outdated. Re-enable it, and run it after the
entire pipeline has finished to make sure we
verify any decls deserialised during SIL/IRGen.
Set the "failed to load" flag on the main module
if the stdlib fails to load, as we'll bail without
adding any source files to the module.
If a partial module fails to load, the main module
may be left without files, so let's set the failed
to load bit.
When deserializing, we delay parenting
GenericTypeParamDecls until we install the
GenericParamList on the parent declaration, using
a dummy parent of the ModuleDecl until this
happens.

However when deserializing GenericTypeParamTypes,
we don't necessarily get the opportunity to
deserialize the parent, leaving them with the
dummy parent.

We should probably consider not deserializing
GenericTypeParamDecls at all, we currently only do
it to preserve the sugar of the name, this could
be serialized on the type instead.

For now though, adjust the dummy parent to be the
SerializedASTFile, and tell the ASTVerifier to
skip verification for such generic params.
This information can be derived from whether we're
installing the module file into the main module.
Rather than adding a ModuleFile to a parent module
and then removing it afterwards if it fails to
load, let's wait until we've loaded the file before
deciding to add it to the parent module. This then
allows us to get rid of `ModuleDecl::removeFile`.

In addition, push down the calls to `addFile` into
the callers of `loadAST` in preparation for
`addFile` being replaced with a one-time-only call
to a `setFiles` method.
Start asserting in `ModuleDecl::getFiles`
that the module is either non-empty or has
failed to load. This ensures that module
loading doesn't attempt to query the module's
files until the ModuleFile has been installed.
Add a common helper function `VJPEmitter::createTrampolineBasicBlock`.

Change `VJPEmitter::buildPullbackValueStructValue` to take an original basic
block instead of a terminator instruction.
This test was disabled in SR-12741 due to iphonesimulator-i386 failures.
Enabling the test on other platforms is important to prevent regressions.
This cleans up some more `llvm::` leakage in the runtime when built into
a static library.  With this change we are down to 3 leaking symbols in
the static library related to a missed ADT (`StringSwitch`).
ainu-bot and others added 20 commits June 1, 2020 19:38
Python 2/3 compat: gyb, gyb_sourcekit_support, gyb_syntax_support, li…
…t-marie-kondo

Get rid of #includes that do not spark joy
…ce-loc

AST: Don't set source location on cloned parameter lists
[ConstraintSystem][NFC] add test cases for argument matching
build: simplify macOS path (NFC)
Add a demangler option to hide the "__C" module name.
ASTPrinter: Add an option to qualify ClangImported types.
[NFC] Pre- increment and decrement where possible
[Index][SR-12903] Index `@objc optional` references
Add a [nonoverridden] kind for SILVTable entries.
…5ab9204bfd4427

[silgen] Create a function level scope when open coding implicit value initializers.
Add a Test Demonstrating Superfluous Cascading Across Module Boundaries
@xihui-wu xihui-wu changed the title Merge swift-5.3-DEVELOPMENT-SNAPSHOT-2020-06-01-a into tensorflow Merge 2020-06-02 into tensorflow Jun 2, 2020
@xihui-wu
Copy link
Author

xihui-wu commented Jun 2, 2020

@swift-ci Please clean test TensorFlow

@xihui-wu
Copy link
Author

xihui-wu commented Jun 3, 2020

@swift-ci Please clean test TensorFlow

1 similar comment
@xihui-wu
Copy link
Author

xihui-wu commented Jun 3, 2020

@swift-ci Please clean test TensorFlow

@dan-zheng
Copy link
Contributor

macOS CI failures are expected, the CI machine needs to be upgraded to macOS 10.15.

Failing Tests (5):
    Swift(macosx-x86_64) :: Python/python_lint.swift
    Swift(macosx-x86_64) :: IRGen/prespecialized-metadata/class-inmodule-2argument-1super-2argument-run.swift
    Swift(macosx-x86_64) :: IRGen/prespecialized-metadata/class-inmodule-1argument-run.swift
    Swift(macosx-x86_64) :: IRGen/prespecialized-metadata/class-inmodule-1argument-metatype-run.swift
    Swift(macosx-x86_64) :: IRGen/prespecialized-metadata/class-class-flags-run.swift

Let's go ahead and merge this PR despite the failures to unblock progress.

@xihui-wu xihui-wu merged commit 09c12c9 into tensorflow Jun 4, 2020
@xihui-wu xihui-wu deleted the tensorflow-merge branch June 4, 2020 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.