aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/passes.c')
-rw-r--r--gcc/passes.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c
index 38c95cd..4588421 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -947,6 +947,9 @@ execute_one_pass (struct tree_opt_pass *pass)
/* Run post-pass cleanup and verification. */
execute_todo (todo_after | pass->todo_flags_finish);
+ if (!current_function_decl)
+ cgraph_process_new_functions ();
+
/* Flush and close dump file. */
if (dump_file_name)
{
@@ -986,6 +989,8 @@ execute_ipa_pass_list (struct tree_opt_pass *pass)
gcc_assert (!cfun);
if (execute_one_pass (pass) && pass->sub)
do_per_function ((void (*)(void *))execute_pass_list, pass->sub);
+ if (!current_function_decl)
+ cgraph_process_new_functions ();
pass = pass->next;
}
while (pass);