aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/invoke.texi16
-rw-r--r--gcc/doc/passes.texi10
3 files changed, 27 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 418ff2a..8c4afa9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+ * doc/invoke.texi: Documentation for my previous commit.
+ * doc/passes.texi: Ditto.
+
+2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
* cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
Declare.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index ed3334d..c8f0086 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -290,7 +290,7 @@ in the following sections.
-fsched-spec-load-dangerous -fsignaling-nans @gol
-fsingle-precision-constant -fssa -fssa-ccp -fssa-dce @gol
-fstrength-reduce -fstrict-aliasing -ftracer -fthread-jumps @gol
--funroll-all-loops -funroll-loops @gol
+-funroll-all-loops -funroll-loops -funswitch-loops @gol
--param @var{name}=@var{value}
-O -O0 -O1 -O2 -O3 -Os}
@@ -3171,7 +3171,8 @@ Dump after conversion from registers to stack, to @file{@var{file}.31.stack}.
Dump after local register allocation, to @file{@var{file}.23.lreg}.
@item L
@opindex dL
-Dump after loop optimization, to @file{@var{file}.12.loop}.
+Dump after loop optimization passes, to @file{@var{file}.12.loop} and
+@file{@var{file}.18.loop2}.
@item M
@opindex dM
Dump after performing the machine dependent reorganization pass, to
@@ -4270,6 +4271,11 @@ the loop is entered. This usually makes programs run more slowly.
@option{-funroll-all-loops} implies the same options as
@option{-funroll-loops},
+@item -funswitch-loops
+@opindex funswitch-loops
+Move branches with loop invariant conditions out of the loop, with duplicates
+of the loop on both branches (modified according to result of the condition).
+
@item -fprefetch-loop-arrays
@opindex fprefetch-loop-arrays
If supported by the target machine, generate instructions to prefetch
@@ -4372,6 +4378,12 @@ The maximum number of instructions that a loop should have if that loop
is unrolled, and if the loop is unrolled, it determines how many times
the loop code is unrolled.
+@item max-unswitch-insns
+The maximum number of insns of an unswitched loop.
+
+@item max-unswitch-level
+The maximum number of branches unswitched in a single loop.
+
@item hot-bb-count-fraction
Select fraction of the maximal count of repetitions of basic block in program
given basic block needs to have to be considered hot.
diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi
index 9da55d4..ae8b92c 100644
--- a/gcc/doc/passes.texi
+++ b/gcc/doc/passes.texi
@@ -333,10 +333,16 @@ Its source files are @file{loop.c} and @file{unroll.c}, plus the header
some functions in @file{integrate.c} and the header @file{integrate.h}.
Loop dependency analysis routines are contained in @file{dependence.c}.
+Second loop optimization pass takes care of basic block level optimalizations --
+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.
+
@opindex dL
The option @option{-dL} causes a debugging dump of the RTL code after
-this pass. This dump file's name is made by appending @samp{.loop} to
-the input file name.
+these passes. The dump file names are made by appending @samp{.loop} and
+@samp{.loop2} to the input file name.
@cindex jump bypassing
@item