This is the mail archive of the
mailing list for the GCC project.
Re: Clean up LTO generation
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Bernd Schmidt <bernds at codesourcery dot com>, Jan Hubicka <hubicka at ucw dot cz>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 18 Nov 2013 12:21:15 +0100
- Subject: Re: Clean up LTO generation
- Authentication-results: sourceware.org; auth=none
- References: <5289E7A4 dot 7090503 at codesourcery dot com>
On Mon, Nov 18, 2013 at 11:10 AM, Bernd Schmidt <email@example.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?