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] PR middle-end/17278


On Thursday 27 January 2005 17:00, Joseph S. Myers wrote:
> On Thu, 27 Jan 2005, Steven Bosscher wrote:
> > 	* opts.c (decode_options): Move flag_thread_jumps from -O1 and
> > 	higher to -O2 and higher.  Likewise for tree PRE.
> > 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
> > 	and better.
>
> invoke.texi documents, both under the -O options and under the individual
> options they enable, which options are enabled at which -O option; that
> documentation needs updating.

It needed updating for more than just my change.  So I just took
opts.c and invoke.texi side-by-side and updated it completely.
I sorted the options in the documentation in the same order as
that in opts.c, for convenience (makes it easier to spot these
problems next time).

OK?

Gr.
Steven

	* doc/invoke.texi: Update the options enabled at -O1, -O2,
	and -O3.  Update the documentation for -fgcse-sm, -fgcse-las,
	-ftree-pre, and -fthread-jumps.

Index: doc/invoke.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/invoke.texi,v
retrieving revision 1.570
diff -c -3 -p -r1.570 invoke.texi
*** doc/invoke.texi	26 Jan 2005 20:36:05 -0000	1.570
--- doc/invoke.texi	27 Jan 2005 16:24:59 -0000
*************** compilation time.
*** 4052,4065 ****
  
  @option{-O} turns on the following optimization flags:
  @gccoptlist{-fdefer-pop @gol
! -fmerge-constants @gol
! -fthread-jumps @gol
  -floop-optimize @gol
  -fif-conversion @gol
  -fif-conversion2 @gol
! -fdelayed-branch @gol
! -fguess-branch-probability @gol
! -fcprop-registers}
  
  @option{-O} also turns on @option{-fomit-frame-pointer} on machines
  where doing so does not interfere with debugging.
--- 4052,4074 ----
  
  @option{-O} turns on the following optimization flags:
  @gccoptlist{-fdefer-pop @gol
! -fdelayed-branch @gol
! -fguess-branch-probability @gol
! -fcprop-registers @gol
  -floop-optimize @gol
  -fif-conversion @gol
  -fif-conversion2 @gol
! -ftree-ccp @gol
! -ftree-dce @gol
! -ftree-dom @gol
! -ftree-dse @gol
! -ftree-ter @gol
! -ftree-live_range_split @gol
! -ftree-sra @gol
! -ftree-copyrename @gol
! -ftree-fre @gol
! -ftree-ch @gol
! -fmerge-constants}
  
  @option{-O} also turns on @option{-fomit-frame-pointer} on machines
  where doing so does not interfere with debugging.
*************** and the performance of the generated cod
*** 4074,4098 ****
  
  @option{-O2} turns on all optimization flags specified by @option{-O}.  It
  also turns on the following optimization flags:
! @gccoptlist{-fforce-mem @gol
  -foptimize-sibling-calls @gol
- -fstrength-reduce @gol
  -fcse-follow-jumps  -fcse-skip-blocks @gol
! -frerun-cse-after-loop  -frerun-loop-opt @gol
! -fgcse  -fgcse-lm  -fgcse-sm  -fgcse-las @gol
! -fdelete-null-pointer-checks @gol
  -fexpensive-optimizations @gol
! -fregmove @gol
! -fschedule-insns  -fschedule-insns2 @gol
! -fsched-interblock  -fsched-spec @gol
  -fcaller-saves @gol
  -fpeephole2 @gol
! -freorder-blocks  -freorder-functions @gol
  -fstrict-aliasing @gol
  -funit-at-a-time @gol
  -falign-functions  -falign-jumps @gol
  -falign-loops  -falign-labels @gol
! -fcrossjumping}
  
  Please note the warning under @option{-fgcse} about
  invoking @option{-O2} on programs that use computed gotos.
--- 4083,4109 ----
  
  @option{-O2} turns on all optimization flags specified by @option{-O}.  It
  also turns on the following optimization flags:
! @gccoptlist{-fthread-jumps @gol
! -fcrossjumping @gol
  -foptimize-sibling-calls @gol
  -fcse-follow-jumps  -fcse-skip-blocks @gol
! -fgcse  -fgcse-lm  @gol
  -fexpensive-optimizations @gol
! -fstrength-reduce @gol
! -frerun-cse-after-loop  -frerun-loop-opt @gol
  -fcaller-saves @gol
+ -fforce-mem @gol
  -fpeephole2 @gol
! -fschedule-insns  -fschedule-insns2 @gol
! -fsched-interblock  -fsched-spec @gol
! -fregmove @gol
  -fstrict-aliasing @gol
+ -fdelete-null-pointer-checks @gol
+ -freorder-blocks  -freorder-functions @gol
  -funit-at-a-time @gol
  -falign-functions  -falign-jumps @gol
  -falign-loops  -falign-labels @gol
! -ftree-pre}
  
  Please note the warning under @option{-fgcse} about
  invoking @option{-O2} on programs that use computed gotos.
*************** invoking @option{-O2} on programs that u
*** 4101,4107 ****
  @opindex O3
  Optimize yet more.  @option{-O3} turns on all optimizations specified by
  @option{-O2} and also turns on the @option{-finline-functions},
! @option{-fweb} and @option{-fgcse-after-reload} options.
  
  @item -O0
  @opindex O0
--- 4112,4118 ----
  @opindex O3
  Optimize yet more.  @option{-O3} turns on all optimizations specified by
  @option{-O2} and also turns on the @option{-finline-functions},
! @option{-funswitch-loops} and @option{-fgcse-after-reload} options.
  
  @item -O0
  @opindex O0
*************** so, the first branch is redirected to ei
*** 4372,4378 ****
  second branch or a point immediately following it, depending on whether
  the condition is known to be true or false.
  
! Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
  
  @item -fcse-follow-jumps
  @opindex fcse-follow-jumps
--- 4383,4389 ----
  second branch or a point immediately following it, depending on whether
  the condition is known to be true or false.
  
! Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
  
  @item -fcse-follow-jumps
  @opindex fcse-follow-jumps
*************** stores out of loops.  When used in conju
*** 4436,4442 ****
  loops containing a load/store sequence can be changed to a load before
  the loop and a store after the loop.
  
! Enabled by default when gcse is enabled.
  
  @item -fgcse-las
  @opindex fgcse-las
--- 4447,4453 ----
  loops containing a load/store sequence can be changed to a load before
  the loop and a store after the loop.
  
! Not enabled at any optimization level.
  
  @item -fgcse-las
  @opindex fgcse-las
*************** When @option{-fgcse-las} is enabled, the
*** 4444,4450 ****
  elimination pass eliminates redundant loads that come after stores to the
  same memory location (both partial and full redundancies).
  
! Enabled by default when gcse is enabled.
  
  @item -fgcse-after-reload
  @opindex fgcse-after-reload
--- 4455,4461 ----
  elimination pass eliminates redundant loads that come after stores to the
  same memory location (both partial and full redundancies).
  
! Not enabled at any optimization level.
  
  @item -fgcse-after-reload
  @opindex fgcse-after-reload
*************** Enabled at levels @option{-O2}, @option{
*** 4629,4635 ****
  
  @item -ftree-pre
  Perform Partial Redundancy Elimination (PRE) on trees.  This flag is
! enabled by default at @option{-O} and higher.
  
  @item -ftree-fre
  Perform Full Redundancy Elimination (FRE) on trees.  The difference
--- 4640,4646 ----
  
  @item -ftree-pre
  Perform Partial Redundancy Elimination (PRE) on trees.  This flag is
! enabled by default at @option{-O2} and @option{-O3}..
  
  @item -ftree-fre
  Perform Full Redundancy Elimination (FRE) on trees.  The difference


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