[clang] [llvm] [ThinLTO][Split] Split module for parallel compilation in backend (1/N) (PR #198702)

via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 3 04:01:31 PDT 2026


mmjjpp wrote:

> I started reviewing and have some high level questions and comments, and a number of other initial comments sprinkled throughout. Can you split this PR into 2? The first being the Utils support, llvm-split changes, and the associated llvm-split based tests; the second being the LTO support with some added LTO tests?
> 
> I know the callgraph based splitting is to avoid performance overhead from loss of IPO, but have you evaluated this?

Thank you very much for the detailed review comments. I’ll carefully go through them and address the issues you raised.

I have now split the original PR into two, following your suggestion: one for the Utils support, llvm-split changes, and the associated llvm-split tests; and another for the LTO-related support and tests. The LTO backend related changes are available here: https://github.com/mmjjpp/llvm-project/pull/17

Regarding the potential IPO impact of callgraph-based splitting, we did evaluate it in our practical workload. The observed performance variation was within 1%. In this evaluation, PGO was enabled, while WPD, CFI, and MemProf were not exercised.

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


More information about the cfe-commits mailing list