[llvm] [Coroutines] ABI Objects to improve code separation between different ABIs, users and utilities. (PR #109338)

Tyler Nowicki via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 20 10:35:28 PDT 2024


================
@@ -2207,8 +2196,53 @@ static void addPrepareFunction(const Module &M,
     Fns.push_back(PrepareFn);
 }
 
+static coro::BaseABI *CreateNewABI(Function &F, coro::Shape &S) {
+  switch (S.ABI) {
+  case coro::ABI::Switch:
+    return new coro::SwitchABI(F, S);
----------------
TylerNowicki wrote:

Done. To do this I had to propagate unique_ptr to a few other lines and make use of std::move in a couple of places.

https://github.com/llvm/llvm-project/pull/109338


More information about the llvm-commits mailing list