This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Remove pass_cfg
- From: Jeffrey A Law <law at redhat dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Richard Guenther <rguenther at suse dot de>
- Date: Mon, 13 Mar 2006 17:06:29 -0700
- Subject: Re: [PATCH] Remove pass_cfg
- References: <200603132329.49974.steven@gcc.gnu.org>
- Reply-to: law at redhat dot com
On Mon, 2006-03-13 at 23:29 +0100, Steven Bosscher wrote:
> Hi,
>
> The patch below removes pass_cfg. It runs a CLEANUP_EXPENSIVE
> cfg_cleanup but we already do one after pass_jump_bypass too.
> With pass_cfg, one instance (of three) of RTL jump threading
> also goes away -- pass_jump_bypass catches most of the things
> that RTL jump threading catches, and the few things that fall
> through the cracks are cleaned up in a later RTL jump threading
> pass (in life1).
>
> To see how ineffective pass_cfg was, consider the following
> data points:
> - with and without the patch, cc1 and cc1plus are identical
> - likewise, with and without the patch the assembler output
> for the Fortran polyhedron benchmark at -O2 and -O3 is
> exactly the same.
> Since I don't have access to SPEC, I can't produce SPEC numbers
> but I'm quite sure this patch doesn't do any harm. If someone
> could confirm this, that'd be nice.
>
> Bootstrapped&tested on x86_64-linux. Also built&tested on
> mips-elf. Thoughts? OK for mainline?
>
> Gr.
> Steven
>
> * tree-pass.h (pass_cfg): Remove.
> * alias.c (rest_of_handle_cfg, pass_cfg): Remove.
> * passes.c (pass_cfg): Don't run it.
Approved.
Jeff