[PATCH] D71903: [Coroutines][6/6] Clang schedules new passes

JunMa via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 29 18:10:16 PST 2019


junparser added a comment.

There is another issue we should consider:  clang is crashed when compile coroutine with -disable-llvm-passes and output an object file. 
Is it reasonable to run coroutine passes even  -disable-llvm-passes is enabled?



================
Comment at: clang/lib/CodeGen/BackendUtil.cpp:1227
+          MPM.addPass(createModuleToPostOrderCGSCCPassAdaptor(CoroSplitPass()));
+          MPM.addPass(createModuleToFunctionPassAdaptor(CoroElidePass()));
+          MPM.addPass(createModuleToPostOrderCGSCCPassAdaptor(CoroSplitPass()));
----------------
modocache wrote:
> junparser wrote:
> > Since coro elision depends on other optimization pass(inline and so on)  implicitly,  how can we adjust the pipeline to achieve this.
> One option would be to use the new pass manager's registration callbacks, like `PassBuilder::registerPipelineStartEPCallback` or `PassBuilder::registerOptimizerLastEPCallback`. These work similarly to the old pass manager's `PassManagerBuilder::addExtension`. That's something that I think would be good to improve in a follow-up patch, but let me know if you'd rather see it in this one.
yes,  please. It should be done in this patch sets. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71903





More information about the cfe-commits mailing list