[llvm] [Coro] Amortize debug info processing cost in CoroSplit (PR #109032)

Artem Pianykh via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 27 03:52:00 PDT 2024


artempyanykh wrote:

> This sounds like generally a good idea and the implementation looks clean as well.

Thanks for reviewing @adrian-prantl!

> What are the behavior changes we expect from this patch series?

* I expect no functional changes, only faster compile times for C++ code with coroutines. 
* The new DebugInfoCache analysis is not conditioned on the presence of coroutines in a module but it's fast and the analysis results can be used to speed up function cloning in other places than just coroutines.
* I ran a compile time benchmark on a few thousand internal source files:
    * There were no perf regressions, code without coroutines had neutral perf impact.
    * Source files that use coroutines compiled 7% faster on avg, but there were many cases where it was 25%, 50% and even 65% faster. The larger the module is and the more coroutine it has, the greater the speed up. 

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


More information about the llvm-commits mailing list