+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,
-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}
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
@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
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.
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