-
Notifications
You must be signed in to change notification settings - Fork 339
Reland "Cherry-pick 51d5d7bbae92493a5bfa7cc6b519de8a5bb32fdb from LLVM mainline" #8199
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
Conversation
Please test with swiftlang/swift#71645 |
Please test with swiftlang/swift#71645 |
@rjmccall This is LLVM part of swiftlang/swift#71645 |
85718fe
to
029f874
Compare
Please test with swiftlang/swift#71645 |
Please test with swiftlang/swift#71645 |
@rjmccall Will you please check / review this PR as well? This is a cherry-pick from LLVM mainline that is required for swiftlang/swift#71645 Thanks! Tagging @rxwei |
@rjmccall Ping Thanks! |
Hi, Anton. Sorry for the delay; I'm trying to figure out what our risk tolerance on merging patches like this is, since this is a long-established release branch. |
Sure. Few points here:
|
Alright. We're going to hold on this for a week or so until an internal branch is complete, but then we plan to merge it, and it should ultimately land in Swift 6.0. |
Great, thanks! |
Hi @rjmccall Just wondering about the status of your internal branch. Thanks! |
Okay, 6.0 has branched, so if you want to land this in this branch, you're welcome to. Swift |
…al result (llvm#66333) One of the main user of these kind of coroutines is swift. There yield-once (`retcon.once`) coroutines are used to temporary "expose" pointers to internal fields of various objects creating borrow scopes. However, in some cases it might be useful also to allow these coroutines to produce a normal result, but there is no convenient way to represent this (as compared to switched-resume kind of coroutines where C++ `co_return` is transformed to a member / callback call on promise object). The extension is simple: we allow continuation function to have a non-void result and accept optional extra arguments via a special `llvm.coro.end.result` intrinsic that would essentially forward them as normal results.
029f874
to
c332d85
Compare
Please test with swiftlang/swift#71645 |
Please test with swiftlang/swift#71645 |
@rjmccall Thanks! I rebased both this PR and swiftlang/swift#71645 Will you be able to land both for me? They need to be merged at the same time, but I do not have commit access to apple/llvm, so I cannot do this by myself. Thanks! |
Required for swiftlang/swift#71645