Also, returning a single object file restricts the possibilities.
The
design of WHOPR, as I understand it, permits creating several
different object files in parallel based on a fast analysis of which
code should be compiled together. When the linker supports
concurrent
linking, it will be desirable to be able to provide it with each
object file as it is completed.
By definition, inter modular optimizer (aka lto) blurs object files
boundaries. Typically, it will construct and walk combined call graph
instead of dividing work based on input files. It does not add lots of
value to preserve one to one direct relationship between optimizer
input files and output files. I agree, it makes sense to have an
additional interface to incrementally feed linker optimized chunks of
code to take advantage of concurrent linking supported by the linker.
-
Devang