On Mon, Nov 18, 2013 at 11:10 AM, Bernd Schmidt <ber...@codesourcery.com> wrote: > I'm looking into using LTO to pass information between compilers for > different targets, for the OpenACC implementation. This area of the > compiler seems somewhat obfuscated by overengineering, and I'd like to > simplify it first to make it easier to work with. > > lto_gimple_out and lto_finish_out aren't real passes, only their > write_summary methods are nonnull. The only thing we really do to emit > LTO is just to make two function calls, to lto_output and > produce_asm_for_decls, but this is wrapped in a lot of pass_manager > boilerplate to confuse the reader. Other downsides are bogus empty dump > files left behind, and plain dead code like > > ipa_read_optimization_summaries_1 (passes->all_lto_gen_passes); > > The following patch simplifies this by getting rid of > all_lto_gen_passes. We could simplify a little further if we decided we > really don't need two different timevars for different steps of LTO > output. Bootstrapped and tested on x86_64-linux, ok?
I'm fine with this - Honza, any objections? Thanks, Richard. > > Bernd