This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Remove pass_cfg


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]