summaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-12-30 11:58:01 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-12-30 11:58:01 +0000
commit523c1122434af355049edacf489e8da82ee7709d (patch)
tree4ee7560469c1e50ca7f51f6e50bca995ec5871a0 /gcc/passes.c
parent311a2fe08784f5d009281ab401fe4f143d4c2825 (diff)
downloadgcc-523c1122434af355049edacf489e8da82ee7709d.tar.gz
* cgraph.c (cgraph_exapnd_queue): Rename to...
(cgraph_new_nodes): ... this one. (cgraph_state): New global variable. (cgraph_add_new_function): Work in more cases. * cgraph.h (cgraph_expand_queue): Rename to ... (cgraph_new_nodes): ... this one. (cgraph_state): New enum and static variable. (cgraph_add_new_function): Update prototype. (cgraph_process_new_functions): New. * omp-low.c (expand_omp_parallel): Update. * cgraphunit.c (initialize_inline_failed): Declare early. (cgraph_process_new_functions): New function. (cgraph_assemble_pending_functions): Use it. (cgraph_expand_all_functions): Use it. (cgraph_optimize): Use it; set cgraph_state. * passes.c (execute_one_pass, execute_ipa_pass_list): Process new functions git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120282 138bc75d-0d04-0410-961f-82ee72b054a4
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 38c95cdaf2b..458842163bc 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);