aboutsummaryrefslogtreecommitdiff
path: root/gcc/invoke.texi
diff options
context:
space:
mode:
authorDoug Evans <devans@cygnus.com>1998-05-20 00:24:32 +0000
committerJeff Law <law@gcc.gnu.org>1998-05-19 18:24:32 -0600
commit7506f49132276e0bd064a169dca106b6436bde7c (patch)
tree934ca7a916b884debf2659218bd495fc6afaa368 /gcc/invoke.texi
parentd392d163c58a6f9dcc2e68ae20ffde4c1bd69be5 (diff)
downloadgcc-7506f49132276e0bd064a169dca106b6436bde7c.zip
gcc-7506f49132276e0bd064a169dca106b6436bde7c.tar.gz
gcc-7506f49132276e0bd064a169dca106b6436bde7c.tar.bz2
* Global CSE and constant/copy propagation.
* Makefile.in (OBJS): Add gcse.o (STAGESTUFF): Add *.gcse. (gcse.o): Add dependencies. (mostlyclean): Remove *.gcse and */*.gcse. * gcse.c: New file. * loop.c (loop_optimize): Move call to init_alias_analysis. * recog.c (validate_replace_src): New function. * toplev.c (gcse_dump): New global variable. (flag_gcse, gcse_time): Likewise. (compile_file): Initialize gcse_time and clean out the gcse dump file if necessary. (rest_of_compilation): Call gcse_main as requested. Dump RTL after gcse if requested. (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse dumps for -da. * gcc.texi: Add gcse related internal documentation. * invoke.texi: Note new command line options for gcse. * tm.texi: Document AVOID_CCMODE_COPIES. * mips.h (AVOID_CCMODE_COPIES): Define. Co-Authored-By: Jeffrey A Law <law@cygnus.com> From-SVN: r19901
Diffstat (limited to 'gcc/invoke.texi')
-rw-r--r--gcc/invoke.texi8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/invoke.texi b/gcc/invoke.texi
index 894ffe7..2289f3c 100644
--- a/gcc/invoke.texi
+++ b/gcc/invoke.texi
@@ -149,7 +149,7 @@ in the following sections.
-fcaller-saves -fcse-follow-jumps -fcse-skip-blocks
-fdelayed-branch -fexpensive-optimizations
-ffast-math -ffloat-store -fforce-addr -fforce-mem
--ffunction-sections -finline-functions
+-ffunction-sections -fgcse -finline-functions
-fkeep-inline-functions -fno-default-inline
-fno-defer-pop -fno-function-cse
-fno-inline -fno-peephole -fomit-frame-pointer -fregmove
@@ -1986,6 +1986,8 @@ Dump after purging ADDRESSOF, to @file{@var{file}.addressof}.
Dump after flow analysis, to @file{@var{file}.flow}.
@item g
Dump after global register allocation, to @file{@var{file}.greg}.
+@item G
+Dump after GCSE, to @file{@var{file}.gcse}.
@item j
Dump after first jump optimization, to @file{@var{file}.jump}.
@item J
@@ -2299,6 +2301,10 @@ performed.
@item -frerun-loop-opt
Run the loop optimizer twice.
+@item -fgcse
+Perform a global common subexpression elimination pass.
+This pass also performs global constant and copy propagation.
+
@item -fexpensive-optimizations
Perform a number of minor optimizations that are relatively expensive.