<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">I'm finally got a few free days to upstream the Swift coroutine patches. I believe Swift is the primary production client of LLVM's coroutine code (although I do know there are some brave souls using Clang's experimental coroutines support), so in a sense I'm now the code owner of this, but I'd still to run through the steps of the plan to give people a chance to comment:</p>
<ol>
<li value="1"><p dir="auto">Translate the patches currently in Swift's LLVM branch back to master and commit them as-is.</p></li>
<li value="2"><p dir="auto">Generalize LLVM's coroutines documentation to talk about ABI lowerings as a core concept, along the basic lines I covered in my LLVM '18 talk.</p></li>
<li value="3"><p dir="auto">Add a new attribute to mark unlowered coroutine functions, update some LLVM passes to honor that by not propagating summary information out of the function, and update frontends to add that attribute to coroutines instead of requiring there to be a pass which adds it retroactively.</p></li>
</ol>
<p dir="auto">Also, if anyone specifically would like to be CC'ed on these patches as they're upstreamed, please let me know.</p>
<p dir="auto">John.</p>
</div>
</div>
</body>
</html>