diff options
author | Bernd Schmidt <bernds@codesourcery.com> | 2013-11-18 22:16:37 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2013-11-18 22:16:37 +0000 |
commit | 38f4f02fd6a83607aada3b3270469143bd9ffc7a (patch) | |
tree | 99d9aea67e80ae40bd6bfd83c82954aa16dccb28 /gcc/passes.c | |
parent | 867c8b03ffc45fee45b414d511ccf125ca5a8c4c (diff) | |
download | gcc-38f4f02fd6a83607aada3b3270469143bd9ffc7a.tar.gz |
Remove all_lto_gen_passes, replace with plain function calls
* cgraphunit.c (ipa_passes): Don't execute all_lto_gen_passes.
* lto-streamer-out.c (lto_output, produce_asm_for_decls): No longer
static.
(pass_data_ipa_lto_gimple_out, pass_ipa_lto_gimple_out,
make_pass_ipa_lto_gimple_out, pass_data_ipa_lto_finish_out,
pass_ipa_lto_finish_out, make_pass_ipa_lto_finish_out): Remove.
* lto-streamer.h (lto_output, produce_asm_for_decls): Declare.
* pass-manager.h (GCC_PASS_LISTS, class pass_manager):
Remove all_lto_gen_passes.
* passes.c (pass_manager::dump_passes): Remove its use.
(pass_manager::register_pass): Likewise.
(ipa_read_summaries, ipa_read_optimization_summaries): Likewise.
(pass_manager::pass_manager): Don't initialize or use it.
(write_lto): New static function.
(ipa_write_summaries_1, ipa_write_optimization_summaries): Use it
instead of using all_lto_gen_passes.
* passes.def (all_lto_gen_passes, pass_ipa_lto_gimple_out,
pass_ipa_lto_finish_out): Delete.
* tree-pass.h (make_pass_ipa_lto_gimple_out,
make_pass_ipa_lto_finish_out): Don't declare.
From-SVN: r204984
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index f45ed0aed1c..55ec70f8962 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -907,7 +907,6 @@ pass_manager::dump_passes () const dump_pass_list (all_lowering_passes, 1); dump_pass_list (all_small_ipa_passes, 1); dump_pass_list (all_regular_ipa_passes, 1); - dump_pass_list (all_lto_gen_passes, 1); dump_pass_list (all_late_ipa_passes, 1); dump_pass_list (all_passes, 1); @@ -1426,8 +1425,6 @@ pass_manager::register_pass (struct register_pass_info *pass_info) if (!success || all_instances) success |= position_pass (pass_info, &all_regular_ipa_passes); if (!success || all_instances) - success |= position_pass (pass_info, &all_lto_gen_passes); - if (!success || all_instances) success |= position_pass (pass_info, &all_late_ipa_passes); if (!success || all_instances) success |= position_pass (pass_info, &all_passes); @@ -1498,7 +1495,7 @@ pass_manager::operator new (size_t sz) pass_manager::pass_manager (context *ctxt) : all_passes (NULL), all_small_ipa_passes (NULL), all_lowering_passes (NULL), - all_regular_ipa_passes (NULL), all_lto_gen_passes (NULL), + all_regular_ipa_passes (NULL), all_late_ipa_passes (NULL), passes_by_id (NULL), passes_by_id_size (0), m_ctxt (ctxt) { @@ -1553,9 +1550,6 @@ pass_manager::pass_manager (context *ctxt) register_dump_files (all_regular_ipa_passes, PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh | PROP_cfg); - register_dump_files (all_lto_gen_passes, - PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh - | PROP_cfg); register_dump_files (all_late_ipa_passes, PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh | PROP_cfg); @@ -2274,6 +2268,18 @@ execute_pass_list (struct opt_pass *pass) while (pass); } +/* Write out all LTO data. */ +static void +write_lto (void) +{ + timevar_push (TV_IPA_LTO_GIMPLE_OUT); + lto_output (); + timevar_pop (TV_IPA_LTO_GIMPLE_OUT); + timevar_push (TV_IPA_LTO_DECL_OUT); + produce_asm_for_decls (); + timevar_pop (TV_IPA_LTO_DECL_OUT); +} + /* Same as execute_pass_list but assume that subpasses of IPA passes are local passes. If SET is not NULL, write out summaries of only those node in SET. */ @@ -2328,7 +2334,8 @@ ipa_write_summaries_1 (lto_symtab_encoder_t encoder) gcc_assert (!flag_wpa); ipa_write_summaries_2 (passes->all_regular_ipa_passes, state); - ipa_write_summaries_2 (passes->all_lto_gen_passes, state); + + write_lto (); gcc_assert (lto_get_out_decl_state () == state); lto_pop_out_decl_state (); @@ -2461,7 +2468,8 @@ ipa_write_optimization_summaries (lto_symtab_encoder_t encoder) gcc_assert (flag_wpa); pass_manager *passes = g->get_passes (); ipa_write_optimization_summaries_1 (passes->all_regular_ipa_passes, state); - ipa_write_optimization_summaries_1 (passes->all_lto_gen_passes, state); + + write_lto (); gcc_assert (lto_get_out_decl_state () == state); lto_pop_out_decl_state (); @@ -2509,14 +2517,13 @@ ipa_read_summaries_1 (struct opt_pass *pass) } -/* Read all the summaries for all_regular_ipa_passes and all_lto_gen_passes. */ +/* Read all the summaries for all_regular_ipa_passes. */ void ipa_read_summaries (void) { pass_manager *passes = g->get_passes (); ipa_read_summaries_1 (passes->all_regular_ipa_passes); - ipa_read_summaries_1 (passes->all_lto_gen_passes); } /* Same as execute_pass_list but assume that subpasses of IPA passes @@ -2559,14 +2566,13 @@ ipa_read_optimization_summaries_1 (struct opt_pass *pass) } } -/* Read all the summaries for all_regular_ipa_passes and all_lto_gen_passes. */ +/* Read all the summaries for all_regular_ipa_passes. */ void ipa_read_optimization_summaries (void) { pass_manager *passes = g->get_passes (); ipa_read_optimization_summaries_1 (passes->all_regular_ipa_passes); - ipa_read_optimization_summaries_1 (passes->all_lto_gen_passes); } /* Same as execute_pass_list but assume that subpasses of IPA passes |