mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
9b8051b48a
commit
f029db6980
|
|
@ -1,3 +1,18 @@
|
||||||
|
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>
|
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 ...
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
/* 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)
|
||||||
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)
|
||||||
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 =
|
||||||
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 =
|
||||||
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)
|
||||||
|
|
||||||
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)
|
||||||
/* 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)
|
||||||
|
|
||||||
/* 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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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")
|
||||||
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")
|
||||||
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")
|
||||||
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)
|
||||||
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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
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)
|
||||||
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);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue