LLVM passes for C++20 coroutines now work with the new pass manager

Hello all,

First of all, thank you to everyone who helped me out with my previous
questions/requests on this mailing list and the LLVM Discord [1]. I
just thought I'd announce that, now that the stack of diffs ending
with https://reviews.llvm.org/D71903 have landed in trunk, LLVM's
coroutine passes are capable of being run with the new pass manager
[2].

My colleagues and I have been using this stack of diffs in our
internal fork of LLVM to compile several large C++17 codebases that
make use of ThinLTO and the -fcoroutines-ts option, and it's been
working well so far. For any users of LLVM coroutines with the new
pass manager, please send bug reports my way (using either Bugzilla or
GitHub issues, I'll check both).

[1] [llvm-dev] Advice on porting SCC pass 'coro-split' to the new pass manager?,
[llvm-dev] [RFC] Coroutines passes in the new pass manager,
etc.
[2] One caveat here: my patches only C++20 coroutines' "switch" ABI,
not the "returned continuation" ABI used by Swift. The codebases I
support only use the former, so I stuck with what I know.

- Brian Gesiak

Awesome!