diff options
author | Richard Guenther <rguenther@suse.de> | 2008-05-15 13:39:39 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2008-05-15 13:39:39 +0000 |
commit | 9fe0cb7d88323ad1be17248b06fd6b071c0a8552 (patch) | |
tree | 8b2e7b5f17ea3a9b8184b7bac245f575919ed667 /gcc/tree-ssa-propagate.c | |
parent | 77f377f70e6ff7e9854be833624c06c4ac567c8c (diff) | |
download | gcc-9fe0cb7d88323ad1be17248b06fd6b071c0a8552.tar.gz |
tree-pass.h (current_pass): Declare.
2008-05-15 Richard Guenther <rguenther@suse.de>
* tree-pass.h (current_pass): Declare.
(get_pass_for_id): Likewise.
* passes.c (passes_by_id, passes_by_id_size): New globals.
(set_pass_for_id): New function.
(get_pass_for_id): Likewise.
(register_one_dump_file): Use set_pass_for_id to populate passes_by_id.
(execute_function_todo): Flush per function statistics.
* toplev.c (compile_file): Init statistics.
(general_init): Do early statistics initialization.
(finalize): Finish statistics.
* statistics.h (statistics_early_init): Declare.
(statistics_init): Likewise.
(statistics_fini): Likewise.
(statistics_fini_pass): Likewise.
(statistics_counter_event): Likewise.
(statistics_histogram_event): Likewise.
* statistics.c: New file.
* Makefile.in (OBJS-common): Add statistics.o.
(statistics.o): Add dependencies.
* doc/invoke.texi (-fdump-statistics): Document.
* tree-ssa-pre.c (compute_antic): Use statistics_histogram_event.
(insert): Likewise.
(execute_pre): Use statistics_counter_event.
* tree-ssa-propagate.c (struct prop_stats_d): Add num_dce field.
(substitute_and_fold): Increment it. Use statistics_counter_event.
* gcc.dg/tree-ssa/loadpre7.c: Adjust scan for not performed
transformation.
* gcc.dg/tree-ssa/ssa-fre-10.c: Likewise.
From-SVN: r135358
Diffstat (limited to 'gcc/tree-ssa-propagate.c')
-rw-r--r-- | gcc/tree-ssa-propagate.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c index 6423ec6ba52..1b40bf095ed 100644 --- a/gcc/tree-ssa-propagate.c +++ b/gcc/tree-ssa-propagate.c @@ -890,6 +890,7 @@ struct prop_stats_d long num_const_prop; long num_copy_prop; long num_pred_folded; + long num_dce; }; static struct prop_stats_d prop_stats; @@ -1255,6 +1256,7 @@ substitute_and_fold (prop_value_t *prop_value, bool use_ranges_p) print_generic_expr (dump_file, stmt, 0); fprintf (dump_file, "\n"); } + prop_stats.num_dce++; bsi_remove (&i, true); release_defs (stmt); if (!bsi_end_p (i)) @@ -1341,15 +1343,14 @@ substitute_and_fold (prop_value_t *prop_value, bool use_ranges_p) } } - if (dump_file && (dump_flags & TDF_STATS)) - { - fprintf (dump_file, "Constants propagated: %6ld\n", - prop_stats.num_const_prop); - fprintf (dump_file, "Copies propagated: %6ld\n", - prop_stats.num_copy_prop); - fprintf (dump_file, "Predicates folded: %6ld\n", - prop_stats.num_pred_folded); - } + statistics_counter_event (cfun, "Constants propagated", + prop_stats.num_const_prop); + statistics_counter_event (cfun, "Copies propagated", + prop_stats.num_copy_prop); + statistics_counter_event (cfun, "Predicates folded", + prop_stats.num_pred_folded); + statistics_counter_event (cfun, "Statements deleted", + prop_stats.num_dce); return something_changed; } |