diff options
author | Kenneth Zadeck <zadeck@naturalbridge.com> | 2008-05-15 22:58:03 +0000 |
---|---|---|
committer | Kenneth Zadeck <zadeck@gcc.gnu.org> | 2008-05-15 22:58:03 +0000 |
commit | 1920df6c2253448d27f4e8e016fa504810857649 (patch) | |
tree | 2c6ab8e53e59d94a67a634900e3ca0f68350582a /gcc/passes.c | |
parent | be95b3555aa82872565a1e1ea85ff826a20c8e2e (diff) | |
download | gcc-1920df6c2253448d27f4e8e016fa504810857649.zip gcc-1920df6c2253448d27f4e8e016fa504810857649.tar.gz gcc-1920df6c2253448d27f4e8e016fa504810857649.tar.bz2 |
cgraph.h (compute_inline_parameters): Made public.
2008-05-15 Kenneth Zadeck <zadeck@naturalbridge.com>
* 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
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 18 |
1 files changed, 9 insertions, 9 deletions
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, " <summary generate>"); - do_per_function_toporder (execute_ipa_summary_passes, pass); + execute_ipa_summary_passes ((struct ipa_opt_pass *) pass); } summaries_generated = true; } |