aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-propagate.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2008-05-15 13:39:39 +0000
committerRichard Guenther <rguenther@suse.de>2008-05-15 13:39:39 +0000
commit92b0371177df20f142afb9d588cb7e72f9c13d4f (patch)
tree8b2e7b5f17ea3a9b8184b7bac245f575919ed667 /gcc/tree-ssa-propagate.c
parentfa3e0f00f765edcf62087d76357d5cd0bcf80f00 (diff)
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@135358 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-propagate.c')
-rw-r--r--gcc/tree-ssa-propagate.c19
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;
}