From 917dd9bf1ed64884ca58a5496349d8a61be8e510 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sat, 12 Jul 2014 11:35:00 +0200 Subject: [PATCH] lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO timevar * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO timevar (materialize_cgraph): Do not push GIMPLE_IN timevar. * timevar.def (TV_IPA_LTO_DECL_INIT_IO): Remove. (TV_IPA_LTO_CTORS_IN, TV_IPA_LTO_CTORS_OUT): New timevar. * cgraph.c (cgraph_get_body): Push GIMPLE_IN timevar. (varpool_get_constructor): Push CTORS_IN timevar. * lto-streamer-out.c (lto_output): Push TV_IPA_LTO_CTORS_OUT timevar. From-SVN: r212479 --- gcc/ChangeLog | 9 +++++++++ gcc/cgraph.c | 5 +++++ gcc/lto-streamer-out.c | 2 ++ gcc/lto/ChangeLog | 6 ++++++ gcc/lto/lto.c | 7 ------- gcc/timevar.def | 3 ++- gcc/varpool.c | 3 +++ 7 files changed, 27 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c111551ac8..4545ca26173 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2014-07-12 Jan Hubicka + + * timevar.def (TV_IPA_LTO_DECL_INIT_IO): Remove. + (TV_IPA_LTO_CTORS_IN, TV_IPA_LTO_CTORS_OUT): New timevar. + * cgraph.c (cgraph_get_body): Push GIMPLE_IN timevar. + (varpool_get_constructor): Push CTORS_IN timevar. + * lto-streamer-out.c (lto_output): Push TV_IPA_LTO_CTORS_OUT + timevar. + 2014-07-12 Uros Bizjak * config/i386/i386-builtin-types.def: Add USHORT_FTYPE_VOID. diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 4cc8c9bc308..14e3b3dcdfd 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -3053,6 +3053,8 @@ cgraph_get_body (struct cgraph_node *node) gcc_assert (in_lto_p); + timevar_push (TV_IPA_LTO_GIMPLE_IN); + file_data = node->lto_file_data; name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)); @@ -3076,6 +3078,9 @@ cgraph_get_body (struct cgraph_node *node) lto_free_section_data (file_data, LTO_section_function_body, name, data, len); lto_free_function_in_decl_state_for_node (node); + + timevar_pop (TV_IPA_LTO_GIMPLE_IN); + return true; } diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 4a94fcda185..ccb85b615d9 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -2115,6 +2115,7 @@ lto_output (void) && lto_symtab_encoder_encode_initializer_p (encoder, node) && !node->alias) { + timevar_push (TV_IPA_LTO_CTORS_OUT); #ifdef ENABLE_CHECKING gcc_assert (!bitmap_bit_p (output, DECL_UID (node->decl))); bitmap_set_bit (output, DECL_UID (node->decl)); @@ -2129,6 +2130,7 @@ lto_output (void) gcc_assert (lto_get_out_decl_state () == decl_state); lto_pop_out_decl_state (); lto_record_function_out_decl_state (node->decl, decl_state); + timevar_pop (TV_IPA_LTO_CTORS_OUT); } } } diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index ec78b2aa4e9..194acba87c9 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,9 @@ +2014-07-12 Jan Hubicka + + * lto.c (read_cgraph_and_symbols): Do not push DECL_INIT_IO + timevar + (materialize_cgraph): Do not push GIMPLE_IN timevar. + 2014-07-11 Jan Hubicka * lto-partition.c (add_references_to_partition): Use diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index cdf8a7218d6..dc30884d334 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -3094,12 +3094,9 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames) timevar_pop (TV_IPA_LTO_CGRAPH_MERGE); - timevar_push (TV_IPA_LTO_DECL_INIT_IO); - /* Indicate that the cgraph is built and ready. */ cgraph_function_flags_ready = true; - timevar_pop (TV_IPA_LTO_DECL_INIT_IO); ggc_free (all_file_decl_data); all_file_decl_data = NULL; } @@ -3117,9 +3114,6 @@ materialize_cgraph (void) fprintf (stderr, flag_wpa ? "Materializing decls:" : "Reading function bodies:"); - /* Now that we have input the cgraph, we need to clear all of the aux - nodes and read the functions if we are not running in WPA mode. */ - timevar_push (TV_IPA_LTO_GIMPLE_IN); FOR_EACH_FUNCTION (node) { @@ -3130,7 +3124,6 @@ materialize_cgraph (void) } } - timevar_pop (TV_IPA_LTO_GIMPLE_IN); /* Start the appropriate timer depending on the mode that we are operating in. */ diff --git a/gcc/timevar.def b/gcc/timevar.def index 6b1b6dfc04d..a04d05c6ae4 100644 --- a/gcc/timevar.def +++ b/gcc/timevar.def @@ -77,7 +77,8 @@ DEFTIMEVAR (TV_IPA_LTO_GIMPLE_IN , "ipa lto gimple in") DEFTIMEVAR (TV_IPA_LTO_GIMPLE_OUT , "ipa lto gimple out") DEFTIMEVAR (TV_IPA_LTO_DECL_IN , "ipa lto decl in") DEFTIMEVAR (TV_IPA_LTO_DECL_OUT , "ipa lto decl out") -DEFTIMEVAR (TV_IPA_LTO_DECL_INIT_IO , "ipa lto decl init I/O") +DEFTIMEVAR (TV_IPA_LTO_CTORS_IN , "ipa lto constructors in") +DEFTIMEVAR (TV_IPA_LTO_CTORS_OUT , "ipa lto constructors out") DEFTIMEVAR (TV_IPA_LTO_CGRAPH_IO , "ipa lto cgraph I/O") DEFTIMEVAR (TV_IPA_LTO_DECL_MERGE , "ipa lto decl merge") DEFTIMEVAR (TV_IPA_LTO_CGRAPH_MERGE , "ipa lto cgraph merge") diff --git a/gcc/varpool.c b/gcc/varpool.c index 2b379ccac38..b98fc1b44f4 100644 --- a/gcc/varpool.c +++ b/gcc/varpool.c @@ -268,6 +268,8 @@ varpool_get_constructor (struct varpool_node *node) || !in_lto_p) return DECL_INITIAL (node->decl); + timevar_push (TV_IPA_LTO_CTORS_IN); + file_data = node->lto_file_data; name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)); @@ -286,6 +288,7 @@ varpool_get_constructor (struct varpool_node *node) lto_free_section_data (file_data, LTO_section_function_body, name, data, len); lto_free_function_in_decl_state_for_node (node); + timevar_pop (TV_IPA_LTO_CTORS_IN); return DECL_INITIAL (node->decl); } -- 2.11.4.GIT