[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