profile
viewpoint
Michael Gottesman gottesmm Apple, Inc. San Francisco, CA

llvm/llvm-project 7414

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Note: the repository does not accept github pull requests at this moment. Please submit your patches at http://reviews.llvm.org.

gottesmm/swift 2

The Swift Programming Language

gottesmm/llvm 0

Mirror of official llvm git repository located at http://llvm.org/git/llvm. Updated every five minutes.

gottesmm/magit-gh-pulls 0

Magit plugin for dealing with GitHub pull requests

gottesmm/swift-corelibs-foundation 0

The Foundation Project, providing core utilities, internationalization, and OS independence

pull request commentapple/swift

[SILGen] Enable alternative entry point name.

Build failed Swift Test Linux Platform Git Sha - 652c26ca9fbcbc19769b880d7fb08ecda57e6887

nate-chandler

comment created time in 4 minutes

pull request commentapple/swift

[ast] Enable the ASTVerifier behind the enable-ast-verifier flag in no-asserts builds.

Build failed Swift Test OS X Platform Git Sha - 1de2d3f7c07914e640f480aa85e31cf89ade2935

gottesmm

comment created time in 14 minutes

push eventapple/swift

Slava Pestov

commit sha 5b64ef81840eb8b6ffd768d412ac442bf5d1c514

Sema: Remove a bit of dead code in DerivedConformanceDifferentiable.cpp

view details

Slava Pestov

commit sha f55f290a47f3be25f02521aaaeea4dbe258541ad

Merge pull request #35594 from slavapestov/squash-dead-code-warning Sema: Remove a bit of dead code in DerivedConformanceDifferentiable.cpp

view details

swift-ci

commit sha aa4df86c7cc8fa77ea5b50312e09f4e00d0d5de2

Merge remote-tracking branch 'origin/main' into rebranch

view details

push time in an hour

push eventapple/swift

Slava Pestov

commit sha 5b64ef81840eb8b6ffd768d412ac442bf5d1c514

Sema: Remove a bit of dead code in DerivedConformanceDifferentiable.cpp

view details

Slava Pestov

commit sha f55f290a47f3be25f02521aaaeea4dbe258541ad

Merge pull request #35594 from slavapestov/squash-dead-code-warning Sema: Remove a bit of dead code in DerivedConformanceDifferentiable.cpp

view details

push time in an hour

pull request commentapple/swift

Fix SILInstruction::mayRelease to handle unmanaged_release_value.

@swift-ci test

atrick

comment created time in an hour

PR opened apple/swift

Reviewers
Fix SILInstruction::mayRelease to handle unmanaged_release_value.

Apparently this API was never called from any OSSA passes.

Fixes rdar://73507733 ([SR-14090]: [Source Compat] swift-futures 5.1 fails to build from main branch)

+31 -0

0 comment

2 changed files

pr created time in an hour

pull request commentapple/swift

[SILGen] Enable alternative entry point name.

@swift-ci please asan test

nate-chandler

comment created time in an hour

pull request commentapple/swift

[SILGen] Enable alternative entry point name.

@swift-ci please clean test

nate-chandler

comment created time in an hour

push eventapple/swift

Saleem Abdulrasool

commit sha 4f740a4784586484bf16fc69c1d742daa71520f6

Concurrency: support draining the main queue in single threaded mode When built in single threaded mode, the runtime does not use dispatch to queue the tasks. As a result, pumping the dispatch main queue will simply wait indefinitely. In the single threaded mode, simply halt execution and drain all pending tasks before returning. This allows forward progress in the single threaded mode.

view details

Saleem Abdulrasool

commit sha 62f90501580f2aede9260b93c4bb41d0ffa08955

Merge pull request #35584 from compnerd/single-threaded-drain Concurrency: support draining the main queue in single threaded mode

view details

swift-ci

commit sha 321b08a64fb40dea589170c03098c829a60cba4d

Merge remote-tracking branch 'origin/main' into rebranch

view details

push time in 2 hours

pull request commentapple/swift

Concurrency: avoid `CFRunLoopRun` on non-Darwin

@swift-ci please test macOS platform

compnerd

comment created time in 2 hours

Pull request review commentapple/swift

[SILGen] Enable alternative entry point name.

 ASTContext::SILTransformCtors ASTContext::getIRGenSILTransforms() const {   return passes; } +std::string ASTContext::getEntryPointFunctionName() const {+  std::string name;

Minor option for simplification:

  if (auto name = LangOpts.entryPointFunctionName)
    return name.getValue();
  return "main";
nate-chandler

comment created time in 2 hours

push eventapple/swift

Saleem Abdulrasool

commit sha 4f740a4784586484bf16fc69c1d742daa71520f6

Concurrency: support draining the main queue in single threaded mode When built in single threaded mode, the runtime does not use dispatch to queue the tasks. As a result, pumping the dispatch main queue will simply wait indefinitely. In the single threaded mode, simply halt execution and drain all pending tasks before returning. This allows forward progress in the single threaded mode.

view details

Saleem Abdulrasool

commit sha 62f90501580f2aede9260b93c4bb41d0ffa08955

Merge pull request #35584 from compnerd/single-threaded-drain Concurrency: support draining the main queue in single threaded mode

view details

push time in 2 hours

PR merged apple/swift

Concurrency: support draining the main queue in single threaded mode

When built in single threaded mode, the runtime does not use dispatch to queue the tasks. As a result, pumping the dispatch main queue will simply wait indefinitely. In the single threaded mode, simply halt execution and drain all pending tasks before returning. This allows forward progress in the single threaded mode.

<!-- What's in this pull request? --> Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

<!-- If this pull request resolves any bugs in the Swift bug tracker, provide a link: --> Resolves SR-NNNN.

<!-- Before merging this pull request, you must run the Swift continuous integration tests. For information about triggering CI builds via @swift-ci, see: https://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md#swift-ci

Thank you for your contribution to Swift! -->

+7 -0

9 comments

1 changed file

compnerd

pr closed time in 2 hours

pull request commentapple/swift

[SILGen] Enable alternative entry point name.

Build failed Swift Test Linux Platform Git Sha - e552c1521f325208bbe45803068e5e80394539e1

nate-chandler

comment created time in 2 hours

pull request commentapple/swift

[cxx-interop] Re-implement namespaces using enums + extensions.

@swift-ci please smoke test Windows.

zoecarver

comment created time in 2 hours

push eventapple/swift

Meghana Gupta

commit sha c63a1c0bdf5d39d133f2f0b4420e8d2e404a1437

Use erasePhiArgument instead of eraseArgument in DCE Fixes rdar://73500476

view details

Meghana Gupta

commit sha 45e210bc2f55d04a1e6ad766816943cb59d1c617

Merge pull request #35591 from meg-gupta/fixdcebug Use erasePhiArgument instead of eraseArgument in DCE

view details

swift-ci

commit sha 46b618e7af2fda61a2625fc2dc4f329faeeb6a9d

Merge remote-tracking branch 'origin/main' into rebranch

view details

push time in 2 hours

push eventapple/swift

Doug Gregor

commit sha dd26b28441708c7442c84757d6fce7c99448d1ee

[Type checker] Ensure we sort semantic members properly. When evaluating the semantic members request, we would sort the members before we return them to ensure a stable ordering for (e.g.) vtable layout. However, when not in a source file, we would assume that the resulting members were always sorted. However, they are not always sorted, because we write the iterative decl contexts directly rather than writing the semantic members. Fixes rdar://72833032. (cherry picked from commit 5426117280ce57fbedcfd88b7622d977f16ad019)

view details

Doug Gregor

commit sha 6e56634103bb6a50ddfc1d62256d905c03d2e98d

Mark more declarations as synthesized (cherry picked from commit 3dc4c7868cda55d2f66045f02ba2d0d36790a31a)

view details

Doug Gregor

commit sha de18d11b81d5e623ad0d453902e8425e307f9987

[AST] Rename "semantic members" to "ABI members". The "semantic members" query produces the list of members that can affect the ABI, e.g., of classes. It does not produce the complete list of members suitable for semantic queries. (cherry picked from commit a8f7f0d4e59cdeee71f6149b30b529ce82c4e306)

view details

Doug Gregor

commit sha 7a07956df2cac0847bcc3d6c06f3e5a14bc75a91

[Type checker] Add "all members" request. Introduce an "all members" request to compute all of the members of a given iterable declaration context in stable order. This builds on ABI members so that it will also include, e.g., type aliases synthesized for associated types. (cherry picked from commit c4e265e28024f45d7994abba93b8474400a7e5cb)

view details

Doug Gregor

commit sha a6ee248337af5fe2486e881975dbdc5876ea2daf

[Serialization] Use getAllMembers() to eliminate nondeterminism. When serializing the members of a nominal type or extension, use `getAllMembers()` instead of `getMembers()` to provide a deterministic ordering. Fixes rdar://63294687. (cherry picked from commit ce1277855393b39c28c76be30f4c6e997b767bc4)

view details

Doug Gregor

commit sha f83203f2c1e3b8bec40072a9c1249dfbfa4cd93e

[AST printer] Use getAllMembers() to eliminate nondeterminism. Use getAllMembers() when printing members to get deterministic ordering. (cherry picked from commit 85cd87ae621e2ab9fcd83c7636bb110c637a794d)

view details

Doug Gregor

commit sha 66e8dd187031c65d663d1bdd3de00416bce37f21

Mark as "synthesized" type aliases for inferred associated type witnesses (cherry picked from commit 76e6f153b4a757f2848e2d4432af7aad9b787673)

view details

Doug Gregor

commit sha 20722c041ccf9efd87994f36e0f7e64b14ffdcfa

Update tests for deterministic serialization/printing of members (cherry picked from commit 5897dbed5cea9c816ad6b53d610be984fcdb854a)

view details

Doug Gregor

commit sha 840c929371da4808e41ba2d6206ea2e8b72d785e

[AST Printer] Avoid synthesizing decls when printing for diagnostics. (cherry picked from commit 5e8ed8dd6daff36638b3539bf52170bf5338d607)

view details

Doug Gregor

commit sha e56c66c68b61c8fba7c821544dd15d291b961f28

Explicitly rely on determinism of serialization for ABI/All members query. The "synthesized" bit of declarations was never serialized, so sorting deserialized declarations was already a no-op. Make it explicitly a no-op to save some work. The fact that we serialize deterministically is what actually fixed the problem here. (cherry picked from commit 344747ca16aa28646a4a2428a9d611e062d7621f)

view details

Doug Gregor

commit sha 9e9b4f5164cc8611779e5b3ea2cb6a5632270e9f

Merge pull request #35540 from DougGregor/all-members-determinism-5.4

view details

push time in 2 hours

PR merged apple/swift

[5.4] Introduce "all members" query to reduce non-determinism in serialization & interface printing

Eliminate some problematic sources of non-determinism involving the ordering of the members within an iterable declaration context. This pull request does a few things in that direction:

  • Mark more declarations (and more kinds of declarations) as "synthesized" when the compiler creates them, including (e.g.) properties (like hashValue), enums (like CodingKeys), and type aliases (inferred from associated types).
  • Rename "semantic members" query to "ABI members", because it is the set that is needed to make the ABI of a type (particularly classes) deterministic. This includes synthesized properties like hashValue.
  • Introduce an "all members" query based on the same infrastructure, which also includes synthesized types like enums and type aliases, as mentioned above. Use this for serialization and interface printing, to make those operations more deterministic.

The combination of the second and third bullets fixes rdar://63294687, a crash that occurs due to the synthesized hashValue property getting a different vtable slot in the defining module vs. a client module.

Cherry-pick of https://github.com/apple/swift/pull/35523

+245 -139

1 comment

31 changed files

DougGregor

pr closed time in 2 hours

push eventapple/swift

Meghana Gupta

commit sha c63a1c0bdf5d39d133f2f0b4420e8d2e404a1437

Use erasePhiArgument instead of eraseArgument in DCE Fixes rdar://73500476

view details

Meghana Gupta

commit sha 45e210bc2f55d04a1e6ad766816943cb59d1c617

Merge pull request #35591 from meg-gupta/fixdcebug Use erasePhiArgument instead of eraseArgument in DCE

view details

push time in 2 hours

PR merged apple/swift

Use erasePhiArgument instead of eraseArgument in DCE

Fixes rdar://73500476

There could be iterator invalidation while deleting edge values. Use api erasePhiArgument which correctly deletes phi arguments.

+1 -2

3 comments

1 changed file

meg-gupta

pr closed time in 2 hours

pull request commentapple/swift

[build-script] Add swift-disable-dead-stripping option for disabling dead stripping

Couple of Python test failures:

******************** TEST 'Swift(macosx-x86_64) :: Python/build_swift.swift' FAILED ********************
Script:
--
: 'RUN: at line 10';   /Applications/Xcode.app/Contents/Developer/usr/bin/python3 /Users/buildnode/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/swift/utils/build_swift/run_tests.py
--
Exit Code: 1

Command Output (stderr):
--
.....................................................................................................................................................................................................................................................................................................................F.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
======================================================================
FAIL: test_expected_options_exhaustive (tests.build_swift.test_driver_arguments.TestDriverArgumentParser)
Test that we are exhaustively testing all options accepted by the
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/buildnode/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/swift/utils/build_swift/tests/build_swift/test_driver_arguments.py", line 418, in test_expected_options_exhaustive
    self.fail('non-exhaustive expected options, missing: {}'
AssertionError: non-exhaustive expected options, missing: {'--swift-disable-dead-stripping'}

----------------------------------------------------------------------
Ran 1039 tests in 33.278s

FAILED (failures=1)

--

********************
PASS: Swift(macosx-x86_64) :: Evolution/test_enum_add_cases_trap.swift (7486 of 14077)
PASS: Swift(macosx-x86_64) :: Evolution/test_conformance_reference.swift (7487 of 14077)
PASS: Swift(macosx-x86_64) :: Evolution/test_enum_add_cases.swift (7488 of 14077)
FAIL: Swift(macosx-x86_64) :: Python/python_lint.swift (7489 of 14077)
******************** TEST 'Swift(macosx-x86_64) :: Python/python_lint.swift' FAILED ********************
Script:
--
: 'RUN: at line 8';   /Applications/Xcode.app/Contents/Developer/usr/bin/python3 /Users/buildnode/jenkins/workspace/swift-PR-macos-smoke-test/branch-main/swift/utils/python_lint.py
--
Exit Code: 1

Command Output (stdout):
--
./utils/build-script:603:1: W293 blank line contains whitespace
./utils/build_swift/build_swift/driver_arguments.py:337:1: W293 blank line contains whitespace

--

********************
mininny

comment created time in 2 hours

pull request commentapple/swift

[Sema] Diagnose type error on Clang type mismatch.

@swift-ci please test source compatibility

varungandhi-apple

comment created time in 3 hours

pull request commentapple/swift

[Sema] Diagnose type error on Clang type mismatch.

@swift-ci please test

varungandhi-apple

comment created time in 3 hours

pull request commentapple/swift

[SR-12033] [Sema] Do not allow inferring defaultable closure `() -> $T` for autoclosure arguments result

No really, it shouldn't collide with that work if everything is done in a stateless manner.

Right! I modify the approach to a way where we don't have a state on the binding set. So let me know what you think :)

LucianoPAlmeida

comment created time in 3 hours

push eventapple/swift

Philippe Hausler

commit sha 6e0524042685283682d5196bbef8f9a8df1e6336

AsyncSequence and protocol conformance rethrows (#35224) * Initial draft of async sequences * Adjust AsyncSequence associated type requirements * Add a draft implementation of AsyncSequence and associated functionality * Correct merge damage and rename from GeneratorProtocol to AsyncIteratorProtocol * Add AsyncSequence types to the cmake lists * Add cancellation support * [DRAFT] Implementation of protocol conformance rethrowing * Account for ASTVerifier passes to ensure throwing and by conformance rethrowing verifies appropriately * Remove commented out code * OtherConstructorDeclRefExpr can also be a source of a rethrowing kind function * Re-order the checkApply logic to account for existing throwing calculations better * Extract rethrowing calculation into smaller functions * Allow for closures and protocol conformances to contribute to throwing * Add unit tests for conformance based rethrowing * Restrict rethrowing requirements to only protocols marked with @rethrows * Correct logic for gating of `@rethrows` and adjust the determinates to be based upon throws and not rethrows spelling * Attempt to unify the async sequence features together * Reorder try await to latest syntax * revert back to the inout diagnosis * House mutations in local scope * Revert "House mutations in local scope" This reverts commit d91f1b25b59fff8e4be107c808895ff3f293b394. * Adjust for inout diagnostics and fall back to original mutation strategy * Convert async flag to source locations and add initial try support to for await in syntax * Fix case typo of MinMax.swift * Adjust rethrowing tests to account for changes associated with @rethrows * Allow parsing and diagnostics associated with try applied to for await in syntax * Correct the code-completion for @rethrows * Additional corrections for the code-completion for @rethrows this time for the last in the list * Handle throwing cases of iteration of async sequences * restore building XCTest * First wave of feedback fixes * Rework constraints checking for async sequence for-try-await-in checking * Allow testing of for-await-in parsing and silgen testing and add unit tests for both * Remove async sequence operators for now * Back out cancellation of AsyncIteratorProtocols * Restructure protocol conformance throws checking and cache results * remove some stray whitespaces * Correct some merge damage * Ensure the throwing determinate for applying for-await-in always has a valid value and adjust the for-await-in silgen test to reflect the cancel changes * Squelch the python linter for line length

view details

swift-ci

commit sha 9f29b005b5dca86cf28322a3440cd2cfaebee0b0

Merge remote-tracking branch 'origin/main' into rebranch

view details

push time in 3 hours

pull request commentapple/swift

[SILGen] Enable alternative entry point name.

@swift-ci please asan test

nate-chandler

comment created time in 3 hours

pull request commentapple/swift

[SILGen] Enable alternative entry point name.

@swift-ci please clean test

nate-chandler

comment created time in 3 hours

push eventapple/swift

Philippe Hausler

commit sha 6e0524042685283682d5196bbef8f9a8df1e6336

AsyncSequence and protocol conformance rethrows (#35224) * Initial draft of async sequences * Adjust AsyncSequence associated type requirements * Add a draft implementation of AsyncSequence and associated functionality * Correct merge damage and rename from GeneratorProtocol to AsyncIteratorProtocol * Add AsyncSequence types to the cmake lists * Add cancellation support * [DRAFT] Implementation of protocol conformance rethrowing * Account for ASTVerifier passes to ensure throwing and by conformance rethrowing verifies appropriately * Remove commented out code * OtherConstructorDeclRefExpr can also be a source of a rethrowing kind function * Re-order the checkApply logic to account for existing throwing calculations better * Extract rethrowing calculation into smaller functions * Allow for closures and protocol conformances to contribute to throwing * Add unit tests for conformance based rethrowing * Restrict rethrowing requirements to only protocols marked with @rethrows * Correct logic for gating of `@rethrows` and adjust the determinates to be based upon throws and not rethrows spelling * Attempt to unify the async sequence features together * Reorder try await to latest syntax * revert back to the inout diagnosis * House mutations in local scope * Revert "House mutations in local scope" This reverts commit d91f1b25b59fff8e4be107c808895ff3f293b394. * Adjust for inout diagnostics and fall back to original mutation strategy * Convert async flag to source locations and add initial try support to for await in syntax * Fix case typo of MinMax.swift * Adjust rethrowing tests to account for changes associated with @rethrows * Allow parsing and diagnostics associated with try applied to for await in syntax * Correct the code-completion for @rethrows * Additional corrections for the code-completion for @rethrows this time for the last in the list * Handle throwing cases of iteration of async sequences * restore building XCTest * First wave of feedback fixes * Rework constraints checking for async sequence for-try-await-in checking * Allow testing of for-await-in parsing and silgen testing and add unit tests for both * Remove async sequence operators for now * Back out cancellation of AsyncIteratorProtocols * Restructure protocol conformance throws checking and cache results * remove some stray whitespaces * Correct some merge damage * Ensure the throwing determinate for applying for-await-in always has a valid value and adjust the for-await-in silgen test to reflect the cancel changes * Squelch the python linter for line length

view details

push time in 3 hours

PR merged apple/swift

Reviewers
AsyncSequence and protocol conformance rethrows

for @airspeedswift to play around with

+1413 -84

29 comments

42 changed files

phausler

pr closed time in 3 hours

more