diff options
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index 19e5869..f45ed0a 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1875,7 +1875,8 @@ execute_todo (unsigned int flags) statistics_fini_pass (); - do_per_function (execute_function_todo, (void *)(size_t) flags); + if (flags) + do_per_function (execute_function_todo, (void *)(size_t) flags); /* Always remove functions just as before inlining: IPA passes might be interested to see bodies of extern inline functions that are not inlined @@ -2065,7 +2066,8 @@ execute_one_ipa_transform_pass (struct cgraph_node *node, if (profile_report && cfun && (cfun->curr_properties & PROP_cfg)) check_profile_consistency (pass->static_pass_number, 1, true); - do_per_function (execute_function_dump, NULL); + if (dump_file) + do_per_function (execute_function_dump, NULL); pass_fini_dump_file (pass); current_pass = NULL; @@ -2231,7 +2233,8 @@ execute_one_pass (struct opt_pass *pass) check_profile_consistency (pass->static_pass_number, 1, true); verify_interpass_invariants (); - do_per_function (execute_function_dump, NULL); + if (dump_file) + do_per_function (execute_function_dump, NULL); if (pass->type == IPA_PASS) { struct cgraph_node *node; |