[PATCH] D95807: [RFC][Coroutines] Add the newly generated SCCs back to the CGSCC work queue after CoroSplit actually happened

Arthur Eubanks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 1 12:33:53 PST 2021


aeubanks added inline comments.


================
Comment at: llvm/lib/Passes/PassBuilder.cpp:625
-  if (PTO.Coroutines)
-    FPM.addPass(CoroElidePass());
-
----------------
we can still keep this here right? since we'll run the function simplification pipeline on the split coroutine
also, this should be duplicated in `buildFunctionSimplificationPipeline()`


================
Comment at: llvm/lib/Transforms/Coroutines/CoroSplit.cpp:1710
   removeCoroEnds(Shape, &CG);
-  postSplitCleanup(F);
+  removeUnreachableBlocks(F);
 
----------------
this could regress coroutines under the legacy PM behavior since we don't run `postSplitCleanup()` here? but maybe we don't care about the legacy PM so much anymore.


================
Comment at: llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2004
+      UR.CWorklist.insert(&C);
+      for (Function *Clone : Clones)
+        UR.CWorklist.insert(CG.lookupSCC(CG.get(*Clone)));
----------------
are all `Clones` guaranteed to be in different SCC?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95807/new/

https://reviews.llvm.org/D95807



More information about the llvm-commits mailing list