Skip to content
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

[pull] swiftwasm from master #509

Merged
merged 20 commits into from
Mar 27, 2020
Merged

[pull] swiftwasm from master #509

merged 20 commits into from
Mar 27, 2020

Conversation

pull[bot]
Copy link

@pull pull bot commented Mar 27, 2020

See Commits and Changes for more details.


Created by pull[bot]. Want to support this open source service? Please star it : )

CodaFi and others added 15 commits March 24, 2020 12:40
…ted parameters after last function parameter"
swift-5.2-branch doesn't indent the contents of var decl accessor blocks if the
var decl is a direct child of an ifconfig decl on swift-5.2-branch. It works
correctly on master after the recent indentation overhaul, but we didn't have
a test covering that specific case.

Resolves rdar://problem/60292681
Add a request to lookup all implied conformances for use while
typechecking the primary. This provides a cache-point for
evaluator-based dependency tracking.
…LASS prefixes"

For clang decls marked with SWIFT_CLASS, these explicit class initializer symbols turn
out to be necessary in the TBD files.

rdar://60857470
… block arguments.

RedundantPhiElimination eliminates block phi-arguments which have the same value as other arguments of the same block.
This also works with cycles, like two equivalent loop induction variables. Such patterns are generated e.g. when using stdlib's enumerated() on Array.

   preheader:
     br bb1(%initval, %initval)
   header(%phi1, %phi2):
     %next1 = builtin "add" (%phi1, %one)
     %next2 = builtin "add" (%phi2, %one)
     cond_br %loopcond, header(%next1, %next2), exit
   exit:

is replaced with

   preheader:
     br bb1(%initval)
   header(%phi1):
     %next1 = builtin "add" (%phi1, %one)
     %next2 = builtin "add" (%phi1, %one) // dead: will be cleaned-up later
     cond_br %loopcond, header(%next1), exit
   exit:

Any remaining dead or "trivially" equivalent instructions will then be cleaned-up by DCE and CSE, respectively.

rdar://problem/33438123
Fix the tests after 45dc14a.
Some bad interactions with StdlibUnittest and XCTest lead to sporadic test timeouts for this test. Given that the codebase is obsolete, the best option seems to be to stop running this test altogether. All we really care is that the resulting dylib still contains the right symbols, and building (but not running) this test seems to be a reasonable way of doing that.
[NFC] Add LookupConformancesInContextRequest
…losure-position

Revert "[ConstraintSystem] Accept trailing closure if multiple defaulted parameters after last function parameter"
Protect against erroneous extensions in `SPIGroupsRequest`
nkcsgexi and others added 5 commits March 26, 2020 23:14
Revert "TBDGen: avoid emitting symbols with OBJC_CLASS and OBJC_METACLASS prefixes"
Add type checking for `@differentiable` function types:
- Check that parameters and results conform to `Differentiable`.
- Implicitly conform parameters and results whose types are generic parameters
  to `Differentiable`.
- Upstream most of the differentiable_func_type_type_checking.swift test from
  `tensorflow` branch. A few function conversion tests have not been added
   because they depend on the `@differentiable` function conversion pipeline.

Diagnose gracefully when the `Differentiable` protocol is unavailable because
`_Differentiation` has not been imported.

Resolves TF-823 and TF-1219.
…ession-test

[test] Add indentation regression test.
…tlang#30660)

Add the `@differentiable` function conversion pipeline:

- New expressions that convert between `@differentiable`,
  `@differentiable(linear)`, and non-`@differentiable` functions:
  - `DifferentiableFunction`
  - `LinearFunction`
  - `DifferentiableFunctionExtractOriginal`
  - `LinearFunctionExtractOriginal`
  - `LinearToDifferentiableFunction`
- All the AST handling (e.g. printing) necessary for those expressions.
- SILGen for those expressions.
- CSApply code that inserts these expressions to implicitly convert between
  the various function types.
- Sema tests for the implicit conversions.
- SILGen tests for the SILGen of these expressions.

Resolves TF-833.
SILOptimizer: a new small optimization pass to remove redundant basic block arguments.
@pull pull bot merged commit 74f98bd into swiftwasm Mar 27, 2020
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.

9 participants