diff options
author | Jan Hubicka <jh@suse.cz> | 2008-05-01 18:08:15 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2008-05-01 16:08:15 +0000 |
commit | 17653c00b9d77f94272588e58400de197005b3a6 (patch) | |
tree | 417705d74e26aac95b03885b54a88b3c22e0d807 /gcc/function.h | |
parent | bd9513ea36c626d301024efb0d0eebd43ca2489a (diff) | |
download | gcc-17653c00b9d77f94272588e58400de197005b3a6.zip gcc-17653c00b9d77f94272588e58400de197005b3a6.tar.gz gcc-17653c00b9d77f94272588e58400de197005b3a6.tar.bz2 |
tree-pass.h (opt_pass): Add IPA_PASS.
* tree-pass.h (opt_pass): Add IPA_PASS.
(varpool_node, cgraph_node): Forward declare.
(ipa_opt_pass): Define.
(pass_ipa_inline): Turn into ipa_opt_pass.
(pass_apply_inline): Remove.
* ipa-inline.c (pass_ipa_inline): Turn into ipa_opt_pass.
(apply_inline): Turn into ....
(inline_transform): ... this one.
(inline_generate_summary): New function.
(pass_apply_inline): Remove.
* function.h (ipa_opt_pass): Forward declare structure; typedef;
vector.
(struct function): Add ipa_transforms_to_apply.
* passes.c (register_one_dump_file): Work on IPA_PASS.
(init_optimization_passes): Remove pass_inline_parameters and
pass_apply_inline.
(pass_init_dump_file, pass_fini_dump_file): Break out from ....
(execute_one_pass) ... here; apply transforms when possible.
(add_ipa_transform_pass, execute_ipa_summary_asses,
execute_one_ipa_transform_pass): New.
(execute_ipa_pass_list): Update for IPA_PASS type.
From-SVN: r134859
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h index 2e88f97..fcfd3b6 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -179,6 +179,11 @@ struct call_site_record; DEF_VEC_P(temp_slot_p); DEF_VEC_ALLOC_P(temp_slot_p,gc); +struct ipa_opt_pass; +typedef struct ipa_opt_pass *ipa_opt_pass; + +DEF_VEC_P(ipa_opt_pass); +DEF_VEC_ALLOC_P(ipa_opt_pass,heap); enum function_frequency { /* This function most likely won't be executed at all. @@ -466,6 +471,10 @@ struct function GTY(()) /* Properties used by the pass manager. */ unsigned int curr_properties; unsigned int last_verified; + /* Interprocedural passes scheduled to have their transform functions + applied next time we execute local pass on them. We maintain it + per-function in order to allow IPA passes to introduce new functions. */ + VEC(ipa_opt_pass,heap) * GTY((skip)) ipa_transforms_to_apply; /* Collected bit flags. */ |