diff options
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index 1b2202e..5e6b8e5 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -279,27 +279,28 @@ finish_optimization_passes (void) int i; struct dump_file_info *dfi; char *name; + gcc::dump_manager *dumps = m_ctxt->get_dumps (); timevar_push (TV_DUMP); if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities) { - dump_start (pass_profile_1->static_pass_number, NULL); + dumps->dump_start (pass_profile_1->static_pass_number, NULL); end_branch_prob (); - dump_finish (pass_profile_1->static_pass_number); + dumps->dump_finish (pass_profile_1->static_pass_number); } if (optimize > 0) { - dump_start (pass_profile_1->static_pass_number, NULL); + dumps->dump_start (pass_profile_1->static_pass_number, NULL); print_combine_total_stats (); - dump_finish (pass_profile_1->static_pass_number); + dumps->dump_finish (pass_profile_1->static_pass_number); } /* Do whatever is necessary to finish printing the graphs. */ - for (i = TDI_end; (dfi = get_dump_file_info (i)) != NULL; ++i) - if (dump_initialized_p (i) + for (i = TDI_end; (dfi = dumps->get_dump_file_info (i)) != NULL; ++i) + if (dumps->dump_initialized_p (i) && (dfi->pflags & TDF_GRAPH) != 0 - && (name = get_dump_file_name (i)) != NULL) + && (name = dumps->get_dump_file_name (i)) != NULL) { finish_graph_dump_file (name); free (name); @@ -642,6 +643,7 @@ pass_manager::register_one_dump_file (struct opt_pass *pass) char num[10]; int flags, id; int optgroup_flags = OPTGROUP_NONE; + gcc::dump_manager *dumps = m_ctxt->get_dumps (); /* See below in next_pass_1. */ num[0] = '\0'; @@ -682,7 +684,8 @@ pass_manager::register_one_dump_file (struct opt_pass *pass) any dump messages are emitted properly under -fopt-info(-optall). */ if (optgroup_flags == OPTGROUP_NONE) optgroup_flags = OPTGROUP_OTHER; - id = dump_register (dot_name, flag_name, glob_name, flags, optgroup_flags); + id = dumps->dump_register (dot_name, flag_name, glob_name, flags, + optgroup_flags); set_pass_for_id (id, pass); full_name = concat (prefix, pass->name, num, NULL); register_pass_name (pass, full_name); @@ -1390,6 +1393,7 @@ void pass_manager::register_pass (struct register_pass_info *pass_info) { bool all_instances, success; + gcc::dump_manager *dumps = m_ctxt->get_dumps (); /* The checks below could fail in buggy plugins. Existing GCC passes should never fail these checks, so we mention plugin in @@ -1447,9 +1451,9 @@ pass_manager::register_pass (struct register_pass_info *pass_info) else tdi = TDI_rtl_all; /* Check if dump-all flag is specified. */ - if (get_dump_file_info (tdi)->pstate) - get_dump_file_info (added_pass_nodes->pass->static_pass_number) - ->pstate = get_dump_file_info (tdi)->pstate; + if (dumps->get_dump_file_info (tdi)->pstate) + dumps->get_dump_file_info (added_pass_nodes->pass->static_pass_number) + ->pstate = dumps->get_dump_file_info (tdi)->pstate; XDELETE (added_pass_nodes); added_pass_nodes = next_node; } @@ -1932,9 +1936,11 @@ pass_init_dump_file (struct opt_pass *pass) if (pass->static_pass_number != -1) { timevar_push (TV_DUMP); - bool initializing_dump = !dump_initialized_p (pass->static_pass_number); - dump_file_name = get_dump_file_name (pass->static_pass_number); - dump_start (pass->static_pass_number, &dump_flags); + gcc::dump_manager *dumps = g->get_dumps (); + bool initializing_dump = + !dumps->dump_initialized_p (pass->static_pass_number); + dump_file_name = dumps->get_dump_file_name (pass->static_pass_number); + dumps->dump_start (pass->static_pass_number, &dump_flags); if (dump_file && current_function_decl) dump_function_header (dump_file, current_function_decl, dump_flags); if (initializing_dump @@ -1963,7 +1969,7 @@ pass_fini_dump_file (struct opt_pass *pass) dump_file_name = NULL; } - dump_finish (pass->static_pass_number); + g->get_dumps ()->dump_finish (pass->static_pass_number); timevar_pop (TV_DUMP); } |