Skip to content

Merge 2020-10-28 into tensorflow #34477

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 1,115 commits into from
Nov 3, 2020
Merged

Merge 2020-10-28 into tensorflow #34477

merged 1,115 commits into from
Nov 3, 2020

Conversation

texasmichelle
Copy link
Contributor

No description provided.

slavapestov and others added 30 commits October 20, 2020 01:00
Today, we check conformance exportability in two places:

1) For inlinable function bodies: in availability checking
2) For types in inlinable declaration signatures: in availability checking
3) For types in non-inlinable declaration signatures: in ExportabilityChecker

I want to merge 2) and 3) together, and also generalize the conformance
exportability check to check conformance availability as well.

This is a preliminary refactoring towards achieving this goal.
Availability checking already knows how to check exportability for
types and conformances referenced from inlinable function signatures
and bodies.

Let's generalize this to work on non-inlinable function signatures
as well, allowing us to get rid of the ExportabilityChecker altogether.
…ailability checking

The substitution map is checked elsewhere.
…type

The ExportContext describes the restrictions, if any, on what
declarations can be uttered in a specific place in the
program. Here, the place is either the signature of a
declaration, or the body of a function.
Converting the innermost DeclContext into a Decl won't work if
the innermost DeclContext is the parent context of a VarDecl.

Instead, use the relevant bit of state from the ExportContext,
which is computed correctly.

This fixes a regression caused by an earlier commit in this PR
which our test suite did not catch.
The requirement executable_test is not needed here. It was there for historical reasons.

rdar://problem/70400635
…result_type_subst

Pass subst options down when substitution sil_box type's substitution map
[Build System] Remove tvOS i386 slice from compiler-rt lib
* Update swift-rpathize.py to work with Python 3.8 and Python 2.7

In Python 2, str() is also a kind of bytes blob
In Python 3, str() is a Unicode string that's unrelated

* Avoid `l` as a variable name

Python-lint correctly warns about single-character variables that can be confused with numbers
[Dependency Scanner] Do not escape strings in the scanner output
stdlib: remove `swiftMSVCRT`, replace with `swiftCRT` on Windows
…0816c78e919469

[silgen] Ensure that cleanup cloner clones formal access cleanups to formal access cleanups.
"Function builders" are being renamed to "result builders". Add the
corresponding `@resultBuilder` attribute, with `@_functionBuilder` as
an alias for it, Update test cases to use @resultBuilder.
Fold exportability checking into availability checking
For class storage AccessedStorage is now close to what some passes use
for RC identity, but it still does not look past wrapping references
in an Optional.
rintaro and others added 14 commits October 27, 2020 15:41
[SR-10011] [Lexer] Raw Strings escape character sequence resembling multiline delimiter
[Diagnostics] Split "only concrete types conform to protocols" into a separate note
…ing-values-through

[Async CC] Propagate runtime values.
SILGen: Fix assertion failure when emitting foreign-to-native thunk for a method with inout 'self'
* 'main' of github.com:apple/swift:
  [Diangostics] NFC: Adjust test-cases to expect that "type cannot conform" diagnostic has a note
  [Diagnostics] Split "only concrete types conform to protocols" into a separate note
  [Async CC] Pass executor along to callee.
  [Async CC] Pass task along from caller to callee.
  [Async CC] Save parent executor into context.
  [Async CC] Save parent context into child context.
  [Async CC] Pass the function's task to task_[de]alloc.
  [Async CC] Add ResumeParentExecutor to context.
  [Async CC] Add ResumeParent to async context.
  [Async CC] Add parent to async context.
  [IRGen] Defined TypeInfo for SwiftExecutor.
  [IRGen] Defined TI for TaskContinuationFunction.
  [IRGen] Defined TaskContinuationFunction.
  [IRGen] Defined TypeInfo for async context.
  SILGen: Fix assertion failure when emitting foreign-to-native thunk for a method with inout 'self'
When casting from existentials to class - and vice versa - it can happen that a cast is not RC identity preserving (because of potential bridging).
This also affects mayRelease() of such cast instructions.
For details see the comments in SILDynamicCastInst::isRCIdentityPreserving().

This change also includes some refactoring: I centralized the logic in SILDynamicCastInst::isRCIdentityPreserving().

rdar://problem/70454804
Fix typos in comments and docs
* 'main' of github.com:apple/swift:
  Fix typos in comments
* 'main' of github.com:apple/swift:
  RCIdentity: fix another case of not-RC-identity-preserving casts.
* Add a test that verifies that Swift correctly recognizes symbol visibility when dealing with @_implementationOnly imports

* Fix header guards
* 'main' of github.com:apple/swift:
  Add a failing test for SR-13785 (#34462)
@texasmichelle
Copy link
Contributor Author

Please test with following PRs:
swiftlang/llvm-project#2056

@swift-ci Please clean test TensorFlow

@texasmichelle
Copy link
Contributor Author

@swift-ci Please clean test TensorFlow

Instructs auxiliary repos to use local clones rather than fresh checkouts
from Package.swift. This gives us more control over branches specified in
update-checkout-config.json. This resolves mismatches such as yams, which
currently points to a fork in one place, but not the other.
@texasmichelle
Copy link
Contributor Author

@swift-ci Please clean test TensorFlow

@compnerd
Copy link
Member

I can't seem to reproduce the test failure locally.

@texasmichelle
Copy link
Contributor Author

I can't reproduce, either.

Reverts the reversion in #34188.

Bisection points to #34188 as the cause of a crasher that looks to be the
result of a miscompile. Adding this back resolves the crasher.

Details of the crash:
The `DiscontiguousSliceSlicing` test in
validation-test/StdlibUnittest/RangeSet.swift crashes in the `every()`
function on line 15. When the contents of this function are replaced with a
functional equivalent that uses different syntax, the crash resolves.
@texasmichelle
Copy link
Contributor Author

@swift-ci Please clean test TensorFlow

Copy link
Contributor

@dabrahams dabrahams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ship it!

@texasmichelle texasmichelle merged commit ebec235 into tensorflow Nov 3, 2020
@texasmichelle texasmichelle deleted the tensorflow-merge branch November 3, 2020 16:19
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.