Skip to content

[Async CC] Never map to native explosions. #34743

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

Conversation

nate-chandler
Copy link
Contributor

Previously, when lowering the entry point of an async function, the parameters were lowered to explosions that matched those of sync functions, namely native explosions. That is incorrect for async functions where the structured values are within the async context. Here, that error is fixed, by adding a new customization point to NativeCCEntryPointArgumentEmission which behaves as before for sync functions but which simply extracts an argument from the async context for async functions.

rdar://problem/71260972

@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@nate-chandler nate-chandler force-pushed the concurrency/irgen/rdar71260972 branch from 4e09a7e to f3c7af5 Compare November 14, 2020 02:16
@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@nate-chandler nate-chandler force-pushed the concurrency/irgen/rdar71260972 branch from f3c7af5 to e988047 Compare November 14, 2020 02:18
@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - e988047b18ca66ff6ea7b6dc258b996df2cae54a

Previously, when lowering the entry point of an async function, the
parameters were lowered to explosions that matched those of sync
functions, namely native explosions.  That is incorrect for async
functions where the structured values are within the async context.
Here, that error is fixed, by adding a new customization point to
NativeCCEntryPointArgumentEmission which behaves as before for sync
functions but which simply extracts an argument from the async context
for async functions.

rdar://problem/71260972
@nate-chandler nate-chandler force-pushed the concurrency/irgen/rdar71260972 branch from e988047 to 11723cc Compare November 14, 2020 03:45
@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 11723cc

@DougGregor
Copy link
Member

@swift-ci please test

@nate-chandler nate-chandler merged commit 9116af9 into swiftlang:main Nov 14, 2020
@nate-chandler nate-chandler deleted the concurrency/irgen/rdar71260972 branch November 14, 2020 21:20
@nate-chandler
Copy link
Contributor Author

Merging broke the build: the test's behavior changed after the tests passed. A PR that fixes the test is here: #34748

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.

3 participants