diff options
author | Tom de Vries <tom@codesourcery.com> | 2016-03-15 11:51:32 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2016-03-15 11:51:32 +0000 |
commit | 5a15be975d24835b9aa9c743c75235adf58ff8f6 (patch) | |
tree | 0bb95f7c43d8ad73e0d43270e605c586b2eeece3 /gcc/passes.c | |
parent | 3ea33585de3d2b26f65dab8df27b5046981964a7 (diff) | |
download | gcc-5a15be975d24835b9aa9c743c75235adf58ff8f6.zip gcc-5a15be975d24835b9aa9c743c75235adf58ff8f6.tar.gz gcc-5a15be975d24835b9aa9c743c75235adf58ff8f6.tar.bz2 |
Fix fdump-ipa-all-graph
2016-03-15 Tom de Vries <tom@codesourcery.com>
PR ipa/70161
* cgraph.c (cgraph_node::get_body): Save, reset and restore
dump_file_name.
* passes.c (execute_one_ipa_transform_pass): Add missing argument to
execute_function_dump.
(execute_one_pass): Don't dump function if it will be dumped after ipa
transform.
From-SVN: r234211
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index 1bf89ed..9d90251 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -2214,7 +2214,7 @@ execute_one_ipa_transform_pass (struct cgraph_node *node, check_profile_consistency (pass->static_pass_number, 1, true); if (dump_file) - do_per_function (execute_function_dump, NULL); + do_per_function (execute_function_dump, pass); pass_fini_dump_file (pass); current_pass = NULL; @@ -2351,15 +2351,15 @@ execute_one_pass (opt_pass *pass) check_profile_consistency (pass->static_pass_number, 1, true); verify_interpass_invariants (); - if (dump_file) - do_per_function (execute_function_dump, pass); - if (pass->type == IPA_PASS) + if (pass->type == IPA_PASS + && ((ipa_opt_pass_d *)pass)->function_transform) { struct cgraph_node *node; - if (((ipa_opt_pass_d *)pass)->function_transform) - FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (node) - node->ipa_transforms_to_apply.safe_push ((ipa_opt_pass_d *)pass); + FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (node) + node->ipa_transforms_to_apply.safe_push ((ipa_opt_pass_d *)pass); } + else if (dump_file) + do_per_function (execute_function_dump, pass); if (!current_function_decl) symtab->process_new_functions (); |