aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2016-04-17 05:22:33 +0000
committerTom de Vries <vries@gcc.gnu.org>2016-04-17 05:22:33 +0000
commit182c78687e6cf481c4d8e8fce99a0f293510adb7 (patch)
tree97b74889cb3b1dc20672ef13dd4e303c8125a677 /gcc/passes.c
parentc5e2d17df05391834d97d4ceaa1007af1d2fc038 (diff)
downloadgcc-182c78687e6cf481c4d8e8fce99a0f293510adb7.zip
gcc-182c78687e6cf481c4d8e8fce99a0f293510adb7.tar.gz
gcc-182c78687e6cf481c4d8e8fce99a0f293510adb7.tar.bz2
Only finalize dot files that have been initialized
2016-04-17 Tom de Vries <tom@codesourcery.com> PR other/70185 * tree-pass.h (class opt_pass): Remove graph_dump_initialized member. * dumpfile.h (struct dump_file_info): Add graph_dump_initialized field. * dumpfile.c (dump_files): Initialize graph_dump_initialized field. * passes.c (finish_optimization_passes): Only call finish_graph_dump_file if dfi->graph_dump_initialized. (execute_function_dump, pass_init_dump_file): Use dfi->graph_dump_initialized instead of pass->graph_dump_initialized. From-SVN: r235074
Diffstat (limited to 'gcc/passes.c')
-rw-r--r--gcc/passes.c16
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;