diff options
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index b9eab06..2b70846 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -364,10 +364,9 @@ finish_optimization_passes (void) /* Do whatever is necessary to finish printing the graphs. */ 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 = dumps->get_dump_file_name (i)) != NULL) + if (dfi->graph_dump_initialized) { + name = dumps->get_dump_file_name (dfi); finish_graph_dump_file (name); free (name); } @@ -1764,10 +1763,13 @@ execute_function_dump (function *fn, void *data) if ((fn->curr_properties & PROP_cfg) && (dump_flags & TDF_GRAPH)) { - if (!pass->graph_dump_initialized) + gcc::dump_manager *dumps = g->get_dumps (); + struct dump_file_info *dfi + = dumps->get_dump_file_info (pass->static_pass_number); + if (!dfi->graph_dump_initialized) { clean_graph_dump_file (dump_file_name); - pass->graph_dump_initialized = true; + dfi->graph_dump_initialized = true; } print_graph_cfg (dump_file_name, fn); } @@ -2111,7 +2113,9 @@ pass_init_dump_file (opt_pass *pass) && cfun && (cfun->curr_properties & PROP_cfg)) { clean_graph_dump_file (dump_file_name); - pass->graph_dump_initialized = true; + struct dump_file_info *dfi + = dumps->get_dump_file_info (pass->static_pass_number); + dfi->graph_dump_initialized = true; } timevar_pop (TV_DUMP); return initializing_dump; |