This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Allow passmanager to switch between IPA and local passes
- From: Richard Henderson <rth at redhat dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 15 Jun 2005 15:25:50 -0700
- Subject: Re: [PATCH] Allow passmanager to switch between IPA and local passes
- References: <20050605102108.GX11574@kam.mff.cuni.cz>
On Sun, Jun 05, 2005 at 12:21:08PM +0200, Jan Hubicka wrote:
> ! if (cfun)
> ! execute_pass_list (pass->sub);
> ! else
> ! {
> ! struct cgraph_node *node;
> ! tree_register_cfg_hooks ();
> ! for (node = cgraph_nodes; node; node = node->next)
> ! if (node->analyzed)
> ! {
> ! push_cfun (DECL_STRUCT_FUNCTION (node->decl));
> ! current_function_decl = node->decl;
> ! execute_pass_list (pass->sub);
> ! free_dominance_info (CDI_DOMINATORS);
> ! free_dominance_info (CDI_POST_DOMINATORS);
> ! current_function_decl = NULL;
> ! pop_cfun ();
> ! ggc_collect ();
I think this just uglifies this function. I think you should simply
change...
> execute_pass_list (all_ipa_passes);
... this to be a different function.
r~