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] GCSE after reload


"Mostafa Hagog" <MUSTAFA@il.ibm.com> writes:

Just a few style nits.

> [...]
> + fgcse-after-reload
> + Common
> + Perform global common subexpression elimination after register alloaction
> + has finished, the purpose from this optimization is to cleanup redundat

Typo: redundant

> + loads that optimization has inserted after GCSE.
> +
> + static bool
> + reg_used_on_edge (reg, e)
> +      rtx reg;
> +      edge e;

Please do not introduce K&R prototypes, use ISO C90 prototypes
everywhere.

> + /* Performing the redundancy elimination as described before.  */
> + static void
> + gcse_after_reload ()

ISO C90: (void)
> Index: doc/invoke.texi
> ===================================================================
> RCS file: /cvsroot/gcc/gcc/gcc/doc/invoke.texi,v
> retrieving revision 1.344
> diff -b -c -p -r1.344 invoke.texi
> *** doc/invoke.texi     9 Oct 2003 09:08:37 -0000     1.344
> --- doc/invoke.texi     14 Oct 2003 13:59:48 -0000
> *************** in the following sections.
> *** 270,277 ****
>   -fdelayed-branch  -fdelete-null-pointer-checks @gol
>   -fexpensive-optimizations  -ffast-math  -ffloat-store @gol
>   -fforce-addr  -fforce-mem  -ffunction-sections @gol
> ! -fgcse  -fgcse-lm  -fgcse-sm  -floop-optimize  -fcrossjumping @gol
> ! -fif-conversion  -fif-conversion2 @gol
>   -finline-functions  -finline-limit=@var{n}  -fkeep-inline-functions @gol
>   -fkeep-static-consts  -fmerge-constants  -fmerge-all-constants @gol
>   -fmove-all-movables  -fnew-ra  -fno-branch-count-reg @gol
> --- 270,277 ----
>   -fdelayed-branch  -fdelete-null-pointer-checks @gol
>   -fexpensive-optimizations  -ffast-math  -ffloat-store @gol
>   -fforce-addr  -fforce-mem  -ffunction-sections @gol
> ! -fgcse  -fgcse-lm  -fgcse-sm  -fgcse-after-reload -floop-optimize @gol
> ! -fcrossjumping -fif-conversion  -fif-conversion2 @gol
>   -finline-functions  -finline-limit=@var{n}  -fkeep-inline-functions @gol
>   -fkeep-static-consts  -fmerge-constants  -fmerge-all-constants @gol
>   -fmove-all-movables  -fnew-ra  -fno-branch-count-reg @gol
> *************** invoking @option{-O2} on programs that u
> *** 3697,3703 ****
>   @opindex O3
>   Optimize yet more.  @option{-O3} turns on all optimizations specified by
>   @option{-O2} and also turns on the @option{-finline-functions},
> ! @option{-funit-at-a-time} and @option{-frename-registers} options.
>
>   @item -O0
>   @opindex O0
> --- 3697,3704 ----
>   @opindex O3
>   Optimize yet more.  @option{-O3} turns on all optimizations specified by
>   @option{-O2} and also turns on the @option{-finline-functions},
> ! @option{-funit-at-a-time}, @option{-fgcse-after-reload}and
> ! @option{-frename-registers} options.
>
>   @item -O0
>   @opindex O0
> *************** When used in conjunction with @option{-f
> *** 4001,4006 ****
> --- 4002,4016 ----
>   can be changed to a load before the loop and a store after the loop.
>
>   Enabled by default when gcse is enabled.
> +
> + @item -fgcse-after-reload
> + @opindex fgcse-after-reload
> + When @option{-fgcse-after-reload} is enable, A global common
> subexpression
> + elimination pass is run after register allocation. The purpose from this

"purpose *of*" I would say.

> + pass is to remove redundant loads due to spills and other optimizations
> + that run after gcse pass.
> +
> + Enable at level @option{-O3}
>
>   @item -floop-optimize
>   @opindex floop-optimize


Andreas
-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SuSE Linux AG, Deutschherrnstr. 15-19, 90429 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126

Attachment: pgp00000.pgp
Description: PGP signature


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