summaryrefslogtreecommitdiff
path: root/gcc/doc/passes.texi
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-27 01:32:56 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-27 01:32:56 +0000
commit4f87b914a9ddeb696b51496c53278ed86e4ac1dd (patch)
tree9f2b1972a2e42dab661909cfd05068b1712650b7 /gcc/doc/passes.texi
parent4f1b0ceaaf05c7094fffeadc99e699e1104365d5 (diff)
downloadgcc-4f87b914a9ddeb696b51496c53278ed86e4ac1dd.tar.gz
* opts.c (decode_options): Do not handle flag_strength_reduce.
(common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt and OPT_fstrength_reduce. * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test flag_prefetch_loop_arrays for being nonzero. * common.opt (floop-optimize, frerun-loop-opt): Resurrected as no-ops. (fprefetch-loop-arrays-rtl): Removed. (flag_prefetch_loop_arrays): Do not specify the value. * doc/passes.texi: Update documentation of loop optimizer passes. * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl, -frerun-loop-opt): Remove. * gcc.target/i386/20000614-2.c: Do not use -fno-strength-reduce. * gcc.dg/20030324-1.c: Do not use -fstrength-reduce. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111469 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/passes.texi')
-rw-r--r--gcc/doc/passes.texi23
1 files changed, 9 insertions, 14 deletions
diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi
index e2fcc7a5d02..bb6a3f0056d 100644
--- a/gcc/doc/passes.texi
+++ b/gcc/doc/passes.texi
@@ -574,20 +574,15 @@ are in @file{lcm.c}.
@item Loop optimization
-This pass moves constant expressions out of loops, and optionally does
-strength-reduction as well. The pass is located in @file{loop.c}.
-Loop dependency analysis routines are contained in @file{dependence.c}.
-This pass is seriously out-of-date and is supposed to be replaced by
-a new one described below in near future.
-
-A second loop optimization pass takes care of basic block level
-optimizations---unrolling, peeling and unswitching loops. The source
-files are @file{cfgloopanal.c} and @file{cfgloopmanip.c} containing
-generic loop analysis and manipulation code, @file{loop-init.c} with
-initialization and finalization code, @file{loop-unswitch.c} for loop
-unswitching and @file{loop-unroll.c} for loop unrolling and peeling.
-It also contains a separate loop invariant motion pass implemented in
-@file{loop-invariant.c}.
+This pass performs several loop related optimizations.
+The source files @file{cfgloopanal.c} and @file{cfgloopmanip.c} contain
+generic loop analysis and manipulation code. Initialization and finalization
+of loop structures is handled by @file{loop-init.c}.
+A loop invariant motion pass is implemented in @file{loop-invariant.c}.
+Basic block level optimizations---unrolling, peeling and unswitching loops---
+are implemented in @file{loop-unswitch.c} and @file{loop-unroll.c}.
+Replacing of the exit condition of loops by special machine-dependent
+instructions is handled by @file{loop-doloop.c}.
@item Jump bypassing