From 1920df6c2253448d27f4e8e016fa504810857649 Mon Sep 17 00:00:00 2001 From: Kenneth Zadeck Date: Thu, 15 May 2008 22:58:03 +0000 Subject: cgraph.h (compute_inline_parameters): Made public. 2008-05-15 Kenneth Zadeck * cgraph.h (compute_inline_parameters): Made public. * tree-pass.h (ipa_opt_pass): Removed function_generate_summary, variable_generate_summary, function_write_summary, variable_write_summary, variable_read_summary. Added generate_summary, write_summary, read_summary. * cgraphunit.c (cgraph_process_new_functions): Changed call from pass_ipa_inline.function_generate_summary, to compute_inline_parameters. * ipa-inline.c (compute_inline_parameters): Made public and added node parameter. (compute_inline_parameters_for_current): New function. (pass_inline_param): Now calls compute_inline_parameters_for_current. (inline_generate_summary): Removed parameter and made to loop over all cgraph nodes. (pass_ipa_inline): Updated for new IPA_PASS structure. * passes.c (execute_ipa_summary_passes): Now is called once per pass rather than once per node*pass. From-SVN: r135401 --- gcc/passes.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'gcc/passes.c') diff --git a/gcc/passes.c b/gcc/passes.c index ede2cd9..fa74d0f 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1157,21 +1157,21 @@ add_ipa_transform_pass (void *data) VEC_safe_push (ipa_opt_pass, heap, cfun->ipa_transforms_to_apply, ipa_pass); } -/* Execute IPA pass function summary generation. DATA is pointer to - pass list to execute. */ +/* Execute summary generation for all of the passes in IPA_PASS. */ static void -execute_ipa_summary_passes (void *data) +execute_ipa_summary_passes (struct ipa_opt_pass *ipa_pass) { - struct ipa_opt_pass *ipa_pass = (struct ipa_opt_pass *)data; - struct cgraph_node *node = cgraph_node (cfun->decl); - while (ipa_pass && ipa_pass->pass.type == IPA_PASS) + while (ipa_pass) { struct opt_pass *pass = &ipa_pass->pass; - if (!pass->gate || pass->gate ()) + + /* Execute all of the IPA_PASSes in the list. */ + if (ipa_pass->pass.type == IPA_PASS + && (!pass->gate || pass->gate ())) { pass_init_dump_file (pass); - ipa_pass->function_generate_summary (node); + ipa_pass->generate_summary (); pass_fini_dump_file (pass); } ipa_pass = (struct ipa_opt_pass *)ipa_pass->pass.next; @@ -1356,7 +1356,7 @@ execute_ipa_pass_list (struct opt_pass *pass) { if (!quiet_flag && !cfun) fprintf (stderr, " "); - do_per_function_toporder (execute_ipa_summary_passes, pass); + execute_ipa_summary_passes ((struct ipa_opt_pass *) pass); } summaries_generated = true; } -- cgit v1.1