kbelochapka wrote:

> High level question: why is this also needed in the summary index bitcode? 
> Isn't this for guiding the backend where you have IR?

Hi @teresajohnson . 
That is one of the three possible approaches:

1. Store the serialized `lto::Config` in a separate file and distribute it 
alongside the main bitcode module and all dependent bitcode modules. This 
approach would require introducing a new Clang command-line option and updating 
the distributed build system to transfer the additional file to remote machines.

2. Embed the serialized `lto::Config` into every bitcode module.

3. Attach the serialized `lto::Config` to each module summary index.

The first option was not considered further because it requires modifications 
to the distributed build system.

The second option could potentially impact the distributed build system's 
caching behavior and would also be more computationally expensive, since the 
configuration would need to be embedded and processed for every bitcode module.

For these reasons, the third option appeared to be the most practical and 
efficient solution.

https://github.com/llvm/llvm-project/pull/219894
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to