diff options
author | Tom de Vries <tom@codesourcery.com> | 2016-04-17 05:22:33 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2016-04-17 05:22:33 +0000 |
commit | 182c78687e6cf481c4d8e8fce99a0f293510adb7 (patch) | |
tree | 97b74889cb3b1dc20672ef13dd4e303c8125a677 /gcc | |
parent | c5e2d17df05391834d97d4ceaa1007af1d2fc038 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/dumpfile.c | 22 | ||||
-rw-r--r-- | gcc/dumpfile.h | 4 | ||||
-rw-r--r-- | gcc/passes.c | 16 | ||||
-rw-r--r-- | gcc/tree-pass.h | 5 |
5 files changed, 36 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 23f04c2..2a20cee 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,16 @@ 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. + +2016-04-17 Tom de Vries <tom@codesourcery.com> + PR tree-optimization/70256 * tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap) (debug_varmap): New function. diff --git a/gcc/dumpfile.c b/gcc/dumpfile.c index 144e371..74522a6 100644 --- a/gcc/dumpfile.c +++ b/gcc/dumpfile.c @@ -50,29 +50,29 @@ int dump_flags; TREE_DUMP_INDEX enumeration in dumpfile.h. */ static struct dump_file_info dump_files[TDI_end] = { - {NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, false}, + {NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, false, false}, {".cgraph", "ipa-cgraph", NULL, NULL, NULL, NULL, NULL, TDF_IPA, - 0, 0, 0, 0, 0, false}, + 0, 0, 0, 0, 0, false, false}, {".type-inheritance", "ipa-type-inheritance", NULL, NULL, NULL, NULL, NULL, TDF_IPA, - 0, 0, 0, 0, 0, false}, + 0, 0, 0, 0, 0, false, false}, {".tu", "translation-unit", NULL, NULL, NULL, NULL, NULL, TDF_TREE, - 0, 0, 0, 0, 1, false}, + 0, 0, 0, 0, 1, false, false}, {".class", "class-hierarchy", NULL, NULL, NULL, NULL, NULL, TDF_TREE, - 0, 0, 0, 0, 2, false}, + 0, 0, 0, 0, 2, false, false}, {".original", "tree-original", NULL, NULL, NULL, NULL, NULL, TDF_TREE, - 0, 0, 0, 0, 3, false}, + 0, 0, 0, 0, 3, false, false}, {".gimple", "tree-gimple", NULL, NULL, NULL, NULL, NULL, TDF_TREE, - 0, 0, 0, 0, 4, false}, + 0, 0, 0, 0, 4, false, false}, {".nested", "tree-nested", NULL, NULL, NULL, NULL, NULL, TDF_TREE, - 0, 0, 0, 0, 5, false}, + 0, 0, 0, 0, 5, false, false}, #define FIRST_AUTO_NUMBERED_DUMP 6 {NULL, "tree-all", NULL, NULL, NULL, NULL, NULL, TDF_TREE, - 0, 0, 0, 0, 0, false}, + 0, 0, 0, 0, 0, false, false}, {NULL, "rtl-all", NULL, NULL, NULL, NULL, NULL, TDF_RTL, - 0, 0, 0, 0, 0, false}, + 0, 0, 0, 0, 0, false, false}, {NULL, "ipa-all", NULL, NULL, NULL, NULL, NULL, TDF_IPA, - 0, 0, 0, 0, 0, false}, + 0, 0, 0, 0, 0, false, false}, }; /* Define a name->number mapping for a dump flag value. */ diff --git a/gcc/dumpfile.h b/gcc/dumpfile.h index c168cbf..3f08b16 100644 --- a/gcc/dumpfile.h +++ b/gcc/dumpfile.h @@ -120,6 +120,10 @@ struct dump_file_info bool owns_strings; /* fields "suffix", "swtch", "glob" can be const strings, or can be dynamically allocated, needing free. */ + bool graph_dump_initialized; /* When a given dump file is being initialized, + this flag is set to true if the corresponding + TDF_graph dump file has also been + initialized. */ }; /* In dumpfile.c */ 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; diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h index 5f5055d..cd8c339 100644 --- a/gcc/tree-pass.h +++ b/gcc/tree-pass.h @@ -108,11 +108,6 @@ public: /* Static pass number, used as a fragment of the dump file name. */ int static_pass_number; - /* When a given dump file is being initialized, this flag is set to - true if the corresponding TDF_graph dump file has also been - initialized. */ - bool graph_dump_initialized; - protected: gcc::context *m_ctxt; }; |