aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/invoke.texi
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2004-06-20 23:31:32 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2004-06-20 21:31:32 +0000
commit5e96277660887473bdc8b1953fcc35aedd092e3a (patch)
treeba006d95fa2c6cd2214ff0411ebeceffe1b217d0 /gcc/doc/invoke.texi
parent2e24fa83ab8d4c5c532e98f0fd005e4f20c833fc (diff)
downloadgcc-5e96277660887473bdc8b1953fcc35aedd092e3a.zip
gcc-5e96277660887473bdc8b1953fcc35aedd092e3a.tar.gz
gcc-5e96277660887473bdc8b1953fcc35aedd092e3a.tar.bz2
loop-invariant.c: New file.
* loop-invariant.c: New file. * Makefile.in (loop-invariant.o): New. * cfgloop.h (global_cost_for_size, init_set_costs, move_loop_invariants): Declare. * cfgloopanal.c (seq_cost, init_set_costs, global_cost_for_size): New functions. (avail_regs, res_regs, small_cost, pres_cost, spill_cost): New variables. * common.opt (floop-optimize2, fmove-loop-invariants): New options. * loop-init.c (loop_optimizer_init): Call init_set_costs. * passes.c (rest_of_handle_loop2): Call move_loop_invariants. (rest_of_compilation): Check flag_loop_optimize2. * toplev.c (process_options): Handle flag_loop_optimize2. * doc/invoke.texi (-floop-optimize2, -fmove-loop-invariants): Document. * doc/passes.texi (loop-invariant.c): Document. From-SVN: r83419
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r--gcc/doc/invoke.texi13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 20b4949..2dd2b82 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -290,7 +290,7 @@ in the following sections.
-finline-functions -finline-limit=@var{n} -fkeep-inline-functions @gol
-fkeep-static-consts -fmerge-constants -fmerge-all-constants @gol
-fmodulo-sched -fmove-all-movables -fnew-ra -fno-branch-count-reg @gol
--fno-default-inline -fno-defer-pop @gol
+-fno-default-inline -fno-defer-pop -floop-optimize2 -fmove-loop-invariants @gol
-fno-function-cse -fno-guess-branch-probability @gol
-fno-inline -fno-math-errno -fno-peephole -fno-peephole2 @gol
-funsafe-math-optimizations -ffinite-math-only @gol
@@ -4191,6 +4191,12 @@ well.
Enabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
+@item -floop-optimize2
+@opindex floop-optimize2
+Perform loop optimizations using the new loop optimizer. The optimizations
+(loop unrolling, peeling and unswitching, loop invariant motion) are enabled
+by separate flags.
+
@item -fcrossjumping
@opindex crossjumping
Perform cross-jumping transformation. This transformation unifies equivalent code and save code size. The
@@ -4922,6 +4928,11 @@ roll much (from profile feedback). It also turns on complete loop peeling
Enabled with @option{-fprofile-use}.
+@item -fmove-loop-invariants
+@opindex fmove-loop-invariants
+Enables the loop invariant motion pass in the new loop optimizer. Enabled
+at level @option{-O1}
+
@item -funswitch-loops
@opindex funswitch-loops
Move branches with loop invariant conditions out of the loop, with duplicates