From 9659d1771d8314544095eb4fd37eec1f24ee24dd Mon Sep 17 00:00:00 2001 From: rguenth Date: Thu, 15 May 2008 13:39:39 +0000 Subject: 2008-05-15 Richard Guenther * 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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135358 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree-pass.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/tree-pass.h') diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h index c18c412b978..b1ac95f52c2 100644 --- a/gcc/tree-pass.h +++ b/gcc/tree-pass.h @@ -508,6 +508,10 @@ extern struct gimple_opt_pass pass_update_address_taken; /* The root of the compilation pass tree, once constructed. */ extern struct opt_pass *all_passes, *all_ipa_passes, *all_lowering_passes; +/* Current optimization pass. */ +extern struct opt_pass *current_pass; + +extern struct opt_pass * get_pass_for_id (int); extern void execute_pass_list (struct opt_pass *); extern void execute_ipa_pass_list (struct opt_pass *); extern void print_current_pass (FILE *); -- cgit v1.2.1