passes.c (pass_init_dump_file): Only open a clean graph dump file if the dump was not already initialized.
* passes.c (pass_init_dump_file): Only open a clean graph dump file if the dump was not already initialized. Revert: 2012-12-03 Steven Bosscher <steven@gcc.gnu.org> * passes.c (finish_optimization_passes): Don't finish graph dumps here. (pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps. (execute_one_pass): Don't set up graph dumps here. From-SVN: r194186
This commit is contained in:
parent
03a6c305d3
commit
68fbd81bf0
2 changed files with 29 additions and 5 deletions
|
@ -1,3 +1,14 @@
|
|||
2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
|
||||
|
||||
* passes.c (pass_init_dump_file): Only open a clean graph dump file if
|
||||
the dump was not already initialized.
|
||||
|
||||
Revert:
|
||||
2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
|
||||
* passes.c (finish_optimization_passes): Don't finish graph dumps here.
|
||||
(pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps.
|
||||
(execute_one_pass): Don't set up graph dumps here.
|
||||
|
||||
2012-12-05 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR lto/55525
|
||||
|
|
23
gcc/passes.c
23
gcc/passes.c
|
@ -223,6 +223,10 @@ rest_of_type_compilation (tree type, int toplev)
|
|||
void
|
||||
finish_optimization_passes (void)
|
||||
{
|
||||
int i;
|
||||
struct dump_file_info *dfi;
|
||||
char *name;
|
||||
|
||||
timevar_push (TV_DUMP);
|
||||
if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
|
||||
{
|
||||
|
@ -230,12 +234,24 @@ finish_optimization_passes (void)
|
|||
end_branch_prob ();
|
||||
dump_finish (pass_profile.pass.static_pass_number);
|
||||
}
|
||||
|
||||
if (optimize > 0)
|
||||
{
|
||||
dump_start (pass_profile.pass.static_pass_number, NULL);
|
||||
print_combine_total_stats ();
|
||||
dump_finish (pass_profile.pass.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)
|
||||
&& (dfi->pflags & TDF_GRAPH) != 0
|
||||
&& (name = get_dump_file_name (i)) != NULL)
|
||||
{
|
||||
finish_graph_dump_file (name);
|
||||
free (name);
|
||||
}
|
||||
|
||||
timevar_pop (TV_DUMP);
|
||||
}
|
||||
|
||||
|
@ -2058,7 +2074,8 @@ pass_init_dump_file (struct opt_pass *pass)
|
|||
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 (dump_file && (dump_flags & TDF_GRAPH)
|
||||
if (initializing_dump
|
||||
&& dump_file && (dump_flags & TDF_GRAPH)
|
||||
&& cfun && (cfun->curr_properties & PROP_cfg))
|
||||
clean_graph_dump_file (dump_file_name);
|
||||
timevar_pop (TV_DUMP);
|
||||
|
@ -2079,10 +2096,6 @@ pass_fini_dump_file (struct opt_pass *pass)
|
|||
/* Flush and close dump file. */
|
||||
if (dump_file_name)
|
||||
{
|
||||
gcc_assert (dump_file);
|
||||
if (dump_flags & TDF_GRAPH
|
||||
&& cfun && (cfun->curr_properties & PROP_cfg))
|
||||
finish_graph_dump_file (dump_file_name);
|
||||
free (CONST_CAST (char *, dump_file_name));
|
||||
dump_file_name = NULL;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue