Jakub Jelinek wrote:
Or if we recorded all command line options we care about into LTO bytecode (Optimization/Target options are recorded already on a per-function basis but I'm worried about others), just have a gcc driver mode that turns a non-fat LTO object into normal non-LTO object.
That sounds to me like the most reasonable thing to do. LTO bytecode is designed to be compiled to object code (at link time) after all, so why should it not be possible to convert (compile) it to an object code object file directly, without having to recompile the source file completely (with -fno-lto, the hack currently done for Clang)?
Kevin Kofler