forked from OSchip/llvm-project
9bd66b312c
CoroSplit lowers various coroutine intrinsics. It's a CGSCC pass and CGSCC passes don't run on unreachable functions. Normally GlobalDCE will come along and delete unreachable functions, but we don't run GlobalDCE under -O0, so an unreachable function with coroutine intrinsics may never have CoroSplit run on it. This patch adds GlobalDCE when coroutines intrinsics are present. It also now runs all coroutine passes conditional when coroutine intrinsics are present. This should also solve the -O0 regression reported in D105877 due to LazyCallGraph construction. Fixes https://github.com/llvm/llvm-project/issues/54117 Reviewed By: ChuanqiXu Differential Revision: https://reviews.llvm.org/D122275 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CoroCleanup.cpp | ||
CoroConditionalWrapper.cpp | ||
CoroEarly.cpp | ||
CoroElide.cpp | ||
CoroFrame.cpp | ||
CoroInstr.h | ||
CoroInternal.h | ||
CoroSplit.cpp | ||
Coroutines.cpp |