[PATCH] D41267: [LTO] Make processing of combined module more consistent

Mehdi AMINI via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 15 21:09:35 PST 2017


mehdi_amini added a comment.

In https://reviews.llvm.org/D41267#957510, @vitalybuka wrote:

> I agree that implicit contract about streams order is not nice here, and we should consider to make it explicit.


That makes the system more rigid, and leave less room for improvements/innovation/etc.

For instance the C API LTO bindings intentionally specifies that the client needs to be prepared to receive a different number of objects than the number of modules it supplied. This allows ThinLTO to evolve toward different granularity of partitioning for instance.
Making the LTO API a 1-1 in term of matching the output files to the inputs modules would make this uneasy. Constraining the API a this level is really not great: if you feel that you need 1-1 matching for some client, it seems to me that it should be achieved by adding an intermediate layer that would take care of it instead of injecting it there.


Repository:
  rL LLVM

https://reviews.llvm.org/D41267





More information about the llvm-commits mailing list