From 2a58bcf2da472661cb75fcab1a5e7fa39f44dca2 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Wed, 30 May 2018 16:43:11 +0000 Subject: [PATCH] passes.c (ipa_write_summaries): Only modify statements if body is in memory. * passes.c (ipa_write_summaries): Only modify statements if body is in memory. * cgraphunit.c (ipa_passes): Also produce intermeidate code when incrementally linking. (ipa_passes): Likewise. * lto-cgraph.c (lto_output_node): When incrementally linking do not pass down resolution info. * common.opt (flag_incremental_link): Update info. * gcc.c (plugin specs): Turn flinker-output=* to -plugin-opt=-linker-output-known * toplev.c (compile_file): Also cut compilation when doing incremental link. * flag-types. (enum lto_partition_model): Add LTO_LINKER_OUTPUT_NOLTOREL. (invoke.texi): Add -flinker-output docs. * ipa.c (symbol_table::remove_unreachable_nodes): Handle LTO incremental link same way as WPA; do not stream in dead initializers. From-SVN: r260964 --- gcc/lto-streamer-out.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index f614aef201f..eb726bfb22e 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -2406,7 +2406,9 @@ lto_output (void) } decl_state = lto_new_out_decl_state (); lto_push_out_decl_state (decl_state); - if (gimple_has_body_p (node->decl) || !flag_wpa + if (gimple_has_body_p (node->decl) + || (!flag_wpa + && flag_incremental_link != INCREMENTAL_LINK_LTO) /* Thunks have no body but they may be synthetized at WPA time. */ || DECL_ARGUMENTS (node->decl)) @@ -2438,7 +2440,8 @@ lto_output (void) decl_state = lto_new_out_decl_state (); lto_push_out_decl_state (decl_state); if (DECL_INITIAL (node->decl) != error_mark_node - || !flag_wpa) + || (!flag_wpa + && flag_incremental_link != INCREMENTAL_LINK_LTO)) output_constructor (node); else copy_function_or_variable (node); -- 2.30.2