This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-profiling] Pre-inline optimizations
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org, matz at suse dot de
- Date: Thu, 3 Mar 2005 10:39:29 +0100
- Subject: Re: [tree-profiling] Pre-inline optimizations
- References: <20050303075152.GN22361@kam.mff.cuni.cz>
- Reply-to: Richard Guenther <richard dot guenther at gmail dot com>
On Thu, 3 Mar 2005 08:51:52 +0100, Jan Hubicka <jh@suse.cz> wrote:
>
> Hi,
> this patch makes it possible to execute optimizations early (ie before IPA is
> performed). At the moment we do that by going into SSA and leaving back, but
> in longer run it would be nice to stay in SSA form assuming that memory
> consumption issues are addressed somehow.
> + NEXT_PASS (pass_all_early_optimizations);
> + *p = NULL;
> +
> + p = &pass_all_early_optimizations.sub;
> + NEXT_PASS (pass_init_datastructures);
> + NEXT_PASS (pass_referenced_vars);
> + NEXT_PASS (pass_lower_memref);
> + NEXT_PASS (pass_build_ssa);
> + NEXT_PASS (pass_may_alias);
> + NEXT_PASS (pass_dce);
> + NEXT_PASS (pass_dominator);
> + NEXT_PASS (pass_redundant_phi);
> + NEXT_PASS (pass_tail_recursion);
> + NEXT_PASS (pass_del_ssa);
> + NEXT_PASS (pass_cleanup_cfg);
> + NEXT_PASS (pass_free_datastructures);
> *p = NULL;
I would have guessed that CCP and DCE are the most useful optimizations,
maybe forward-prop and cprop. But dom? That's really expensive. But I am
again biased for templated C++ code for which it should be the most useful
thing to remove dead code from either constant template parameters or
arguments.
Richard.