Commit f029db69 by Jan Hubicka Committed by Jan Hubicka

timevar.def (TV_OUT_OF_SSA, [...]): New timevars.


	* timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
	TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
	* cfgexpand.c (gimple_expand_cfg): Use new timevars.
	* var-tracking.c (vt_find_locations, variable_tracking_main_1):
	Likewise.

	* lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
	Update timevars.V
	* timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
	(TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
	TV_IPA_LTO_DECL_OUT): New.
	* lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.

From-SVN: r161779
parent 9b8051b4
2010-07-03 Jan Hubicka <jh@suse.cz> 2010-07-03 Jan Hubicka <jh@suse.cz>
* timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
* cfgexpand.c (gimple_expand_cfg): Use new timevars.
* var-tracking.c (vt_find_locations, variable_tracking_main_1):
Likewise.
* lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
Update timevars.V
* timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
(TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
TV_IPA_LTO_DECL_OUT): New.
* lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.
2010-07-03 Jan Hubicka <jh@suse.cz>
* ipa-inline.c (update_edge_key): Break out from ... * ipa-inline.c (update_edge_key): Break out from ...
update_callers_keys): ... here; update_callers_keys): ... here;
(update_callee_keys): Update only the edges from caller to callee. (update_callee_keys): Update only the edges from caller to callee.
......
...@@ -3764,7 +3764,9 @@ gimple_expand_cfg (void) ...@@ -3764,7 +3764,9 @@ gimple_expand_cfg (void)
edge e; edge e;
unsigned i; unsigned i;
timevar_push (TV_OUT_OF_SSA);
rewrite_out_of_ssa (&SA); rewrite_out_of_ssa (&SA);
timevar_pop (TV_OUT_OF_SSA);
SA.partition_to_pseudo = (rtx *)xcalloc (SA.map->num_partitions, SA.partition_to_pseudo = (rtx *)xcalloc (SA.map->num_partitions,
sizeof (rtx)); sizeof (rtx));
...@@ -3807,7 +3809,9 @@ gimple_expand_cfg (void) ...@@ -3807,7 +3809,9 @@ gimple_expand_cfg (void)
/* Expand the variables recorded during gimple lowering. */ /* Expand the variables recorded during gimple lowering. */
timevar_push (TV_VAR_EXPAND);
expand_used_vars (); expand_used_vars ();
timevar_pop (TV_VAR_EXPAND);
/* Honor stack protection warnings. */ /* Honor stack protection warnings. */
if (warn_stack_protect) if (warn_stack_protect)
...@@ -3887,8 +3891,11 @@ gimple_expand_cfg (void) ...@@ -3887,8 +3891,11 @@ gimple_expand_cfg (void)
expand_debug_locations (); expand_debug_locations ();
execute_free_datastructures (); execute_free_datastructures ();
timevar_push (TV_OUT_OF_SSA);
finish_out_of_ssa (&SA); finish_out_of_ssa (&SA);
timevar_pop (TV_OUT_OF_SSA);
timevar_push (TV_POST_EXPAND);
/* We are no longer in SSA form. */ /* We are no longer in SSA form. */
cfun->gimple_df->in_ssa_p = false; cfun->gimple_df->in_ssa_p = false;
...@@ -3998,6 +4005,7 @@ gimple_expand_cfg (void) ...@@ -3998,6 +4005,7 @@ gimple_expand_cfg (void)
the common parent easily. */ the common parent easily. */
set_block_levels (DECL_INITIAL (cfun->decl), 0); set_block_levels (DECL_INITIAL (cfun->decl), 0);
default_rtl_profile (); default_rtl_profile ();
timevar_pop (TV_POST_EXPAND);
return 0; return 0;
} }
......
...@@ -2132,7 +2132,7 @@ struct ipa_opt_pass_d pass_ipa_lto_gimple_out = ...@@ -2132,7 +2132,7 @@ struct ipa_opt_pass_d pass_ipa_lto_gimple_out =
NULL, /* sub */ NULL, /* sub */
NULL, /* next */ NULL, /* next */
0, /* static_pass_number */ 0, /* static_pass_number */
TV_IPA_LTO_GIMPLE_IO, /* tv_id */ TV_IPA_LTO_GIMPLE_OUT, /* tv_id */
0, /* properties_required */ 0, /* properties_required */
0, /* properties_provided */ 0, /* properties_provided */
0, /* properties_destroyed */ 0, /* properties_destroyed */
...@@ -2544,7 +2544,7 @@ struct ipa_opt_pass_d pass_ipa_lto_finish_out = ...@@ -2544,7 +2544,7 @@ struct ipa_opt_pass_d pass_ipa_lto_finish_out =
NULL, /* sub */ NULL, /* sub */
NULL, /* next */ NULL, /* next */
0, /* static_pass_number */ 0, /* static_pass_number */
TV_IPA_LTO_DECL_IO, /* tv_id */ TV_IPA_LTO_DECL_OUT, /* tv_id */
0, /* properties_required */ 0, /* properties_required */
0, /* properties_provided */ 0, /* properties_provided */
0, /* properties_destroyed */ 0, /* properties_destroyed */
......
...@@ -1436,7 +1436,7 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames) ...@@ -1436,7 +1436,7 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames)
lto_stats.num_input_files = nfiles; lto_stats.num_input_files = nfiles;
timevar_push (TV_IPA_LTO_DECL_IO); timevar_push (TV_IPA_LTO_DECL_IN);
/* Set the hooks so that all of the ipa passes can read in their data. */ /* Set the hooks so that all of the ipa passes can read in their data. */
all_file_decl_data all_file_decl_data
...@@ -1498,7 +1498,7 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames) ...@@ -1498,7 +1498,7 @@ read_cgraph_and_symbols (unsigned nfiles, const char **fnames)
/* Set the hooks so that all of the ipa passes can read in their data. */ /* Set the hooks so that all of the ipa passes can read in their data. */
lto_set_in_hooks (all_file_decl_data, get_section_data, free_section_data); lto_set_in_hooks (all_file_decl_data, get_section_data, free_section_data);
timevar_pop (TV_IPA_LTO_DECL_IO); timevar_pop (TV_IPA_LTO_DECL_IN);
if (!quiet_flag) if (!quiet_flag)
fprintf (stderr, "\nReading the callgraph\n"); fprintf (stderr, "\nReading the callgraph\n");
...@@ -1590,7 +1590,7 @@ materialize_cgraph (void) ...@@ -1590,7 +1590,7 @@ materialize_cgraph (void)
/* Now that we have input the cgraph, we need to clear all of the aux /* 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. */ nodes and read the functions if we are not running in WPA mode. */
timevar_push (TV_IPA_LTO_GIMPLE_IO); timevar_push (TV_IPA_LTO_GIMPLE_IN);
for (node = cgraph_nodes; node; node = node->next) for (node = cgraph_nodes; node; node = node->next)
{ {
...@@ -1611,7 +1611,7 @@ materialize_cgraph (void) ...@@ -1611,7 +1611,7 @@ materialize_cgraph (void)
} }
} }
timevar_pop (TV_IPA_LTO_GIMPLE_IO); timevar_pop (TV_IPA_LTO_GIMPLE_IN);
/* Start the appropriate timer depending on the mode that we are /* Start the appropriate timer depending on the mode that we are
operating in. */ operating in. */
......
...@@ -53,8 +53,10 @@ DEFTIMEVAR (TV_CGRAPHOPT , "callgraph optimization") ...@@ -53,8 +53,10 @@ DEFTIMEVAR (TV_CGRAPHOPT , "callgraph optimization")
DEFTIMEVAR (TV_VARPOOL , "varpool construction") DEFTIMEVAR (TV_VARPOOL , "varpool construction")
DEFTIMEVAR (TV_IPA_CONSTANT_PROP , "ipa cp") DEFTIMEVAR (TV_IPA_CONSTANT_PROP , "ipa cp")
DEFTIMEVAR (TV_IPA_FNSPLIT , "ipa function splitting") DEFTIMEVAR (TV_IPA_FNSPLIT , "ipa function splitting")
DEFTIMEVAR (TV_IPA_LTO_GIMPLE_IO , "ipa lto gimple I/O") DEFTIMEVAR (TV_IPA_LTO_GIMPLE_IN , "ipa lto gimple in")
DEFTIMEVAR (TV_IPA_LTO_DECL_IO , "ipa lto decl I/O") 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_DECL_INIT_IO , "ipa lto decl init I/O")
DEFTIMEVAR (TV_IPA_LTO_CGRAPH_IO , "ipa lto cgraph I/O") 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_DECL_MERGE , "ipa lto decl merge")
...@@ -172,7 +174,10 @@ DEFTIMEVAR (TV_DOMINANCE , "dominance computation") ...@@ -172,7 +174,10 @@ DEFTIMEVAR (TV_DOMINANCE , "dominance computation")
DEFTIMEVAR (TV_CONTROL_DEPENDENCES , "control dependences") DEFTIMEVAR (TV_CONTROL_DEPENDENCES , "control dependences")
DEFTIMEVAR (TV_OVERLOAD , "overload resolution") DEFTIMEVAR (TV_OVERLOAD , "overload resolution")
DEFTIMEVAR (TV_TEMPLATE_INSTANTIATION, "template instantiation") DEFTIMEVAR (TV_TEMPLATE_INSTANTIATION, "template instantiation")
DEFTIMEVAR (TV_OUT_OF_SSA , "out of ssa")
DEFTIMEVAR (TV_VAR_EXPAND , "expand vars")
DEFTIMEVAR (TV_EXPAND , "expand") DEFTIMEVAR (TV_EXPAND , "expand")
DEFTIMEVAR (TV_POST_EXPAND , "post expand cleanups")
DEFTIMEVAR (TV_VARCONST , "varconst") DEFTIMEVAR (TV_VARCONST , "varconst")
DEFTIMEVAR (TV_LOWER_SUBREG , "lower subreg") DEFTIMEVAR (TV_LOWER_SUBREG , "lower subreg")
DEFTIMEVAR (TV_JUMP , "jump") DEFTIMEVAR (TV_JUMP , "jump")
...@@ -226,6 +231,8 @@ DEFTIMEVAR (TV_FINAL , "final") ...@@ -226,6 +231,8 @@ DEFTIMEVAR (TV_FINAL , "final")
DEFTIMEVAR (TV_VAROUT , "variable output") DEFTIMEVAR (TV_VAROUT , "variable output")
DEFTIMEVAR (TV_SYMOUT , "symout") DEFTIMEVAR (TV_SYMOUT , "symout")
DEFTIMEVAR (TV_VAR_TRACKING , "variable tracking") DEFTIMEVAR (TV_VAR_TRACKING , "variable tracking")
DEFTIMEVAR (TV_VAR_TRACKING_DATAFLOW , "var-tracking dataflow")
DEFTIMEVAR (TV_VAR_TRACKING_EMIT , "var-tracking emit")
DEFTIMEVAR (TV_TREE_IFCOMBINE , "tree if-combine") DEFTIMEVAR (TV_TREE_IFCOMBINE , "tree if-combine")
DEFTIMEVAR (TV_TREE_UNINIT , "uninit var anaysis") DEFTIMEVAR (TV_TREE_UNINIT , "uninit var anaysis")
DEFTIMEVAR (TV_PLUGIN_INIT , "plugin initialization") DEFTIMEVAR (TV_PLUGIN_INIT , "plugin initialization")
......
...@@ -5992,6 +5992,7 @@ vt_find_locations (void) ...@@ -5992,6 +5992,7 @@ vt_find_locations (void)
int htabmax = PARAM_VALUE (PARAM_MAX_VARTRACK_SIZE); int htabmax = PARAM_VALUE (PARAM_MAX_VARTRACK_SIZE);
bool success = true; bool success = true;
timevar_push (TV_VAR_TRACKING_DATAFLOW);
/* Compute reverse completion order of depth first search of the CFG /* Compute reverse completion order of depth first search of the CFG
so that the data-flow runs faster. */ so that the data-flow runs faster. */
rc_order = XNEWVEC (int, n_basic_blocks - NUM_FIXED_BLOCKS); rc_order = XNEWVEC (int, n_basic_blocks - NUM_FIXED_BLOCKS);
...@@ -6027,6 +6028,7 @@ vt_find_locations (void) ...@@ -6027,6 +6028,7 @@ vt_find_locations (void)
{ {
bb = (basic_block) fibheap_extract_min (worklist); bb = (basic_block) fibheap_extract_min (worklist);
RESET_BIT (in_worklist, bb->index); RESET_BIT (in_worklist, bb->index);
gcc_assert (!TEST_BIT (visited, bb->index));
if (!TEST_BIT (visited, bb->index)) if (!TEST_BIT (visited, bb->index))
{ {
bool changed; bool changed;
...@@ -6179,6 +6181,7 @@ vt_find_locations (void) ...@@ -6179,6 +6181,7 @@ vt_find_locations (void)
sbitmap_free (in_worklist); sbitmap_free (in_worklist);
sbitmap_free (in_pending); sbitmap_free (in_pending);
timevar_pop (TV_VAR_TRACKING_DATAFLOW);
return success; return success;
} }
...@@ -8534,7 +8537,9 @@ variable_tracking_main_1 (void) ...@@ -8534,7 +8537,9 @@ variable_tracking_main_1 (void)
dump_flow_info (dump_file, dump_flags); dump_flow_info (dump_file, dump_flags);
} }
timevar_push (TV_VAR_TRACKING_EMIT);
vt_emit_notes (); vt_emit_notes ();
timevar_pop (TV_VAR_TRACKING_EMIT);
vt_finalize (); vt_finalize ();
vt_debug_insns_local (false); vt_debug_insns_local (false);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment