diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2005-07-27 14:20:39 +0000 |
---|---|---|
committer | Zdenek Dvorak <dvorakz@suse.cz> | 2005-07-27 14:20:39 +0000 |
commit | cea0226e77758d33ebf02e4002ff978a31e72641 (patch) | |
tree | a9ed4c9b7c5758ca1c564584ae66ff0fb119ab03 | |
parent | 9cd805cc97ef060f662d6f0f14c020351bc92044 (diff) |
Branch created (killloop-branchpoint)
* common.opt (floop-optimize2): Removed.
(fmove-loop-invariants): Enabled by default.
* loop-init.c (gate_handle_loop2): Do not check flag_loop_optimize2.
Check flag_branch_on_count_reg only if HAVE_doloop_end.
* opts.c (decode_options): Do not enable flag_loop_optimize.
* toplev.c (process_options): Do not handle flag_loop_optimize2.
* doc/invoke.texi: Remove -floop-optimize2 documentation.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/killloop-branch@102429 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog.killloop | 10 | ||||
-rw-r--r-- | gcc/common.opt | 6 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 8 | ||||
-rw-r--r-- | gcc/loop-init.c | 7 | ||||
-rw-r--r-- | gcc/opts.c | 1 | ||||
-rw-r--r-- | gcc/toplev.c | 13 |
6 files changed, 17 insertions, 28 deletions
diff --git a/gcc/ChangeLog.killloop b/gcc/ChangeLog.killloop new file mode 100644 index 00000000000..6090c9c7f6e --- /dev/null +++ b/gcc/ChangeLog.killloop @@ -0,0 +1,10 @@ +2005-07-27 Zdenek Dvorak <dvorakz@suse.cz> + + Branch created (killloop-branchpoint) + * common.opt (floop-optimize2): Removed. + (fmove-loop-invariants): Enabled by default. + * loop-init.c (gate_handle_loop2): Do not check flag_loop_optimize2. + Check flag_branch_on_count_reg only if HAVE_doloop_end. + * opts.c (decode_options): Do not enable flag_loop_optimize. + * toplev.c (process_options): Do not handle flag_loop_optimize2. + * doc/invoke.texi: Remove -floop-optimize2 documentation. diff --git a/gcc/common.opt b/gcc/common.opt index 53e2a501d6a..a50268321c3 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -531,10 +531,6 @@ floop-optimize Common Report Var(flag_loop_optimize) Perform loop optimizations -floop-optimize2 -Common Report Var(flag_loop_optimize2) -Perform loop optimizations using the new loop optimizer - fmath-errno Common Report Var(flag_errno_math) Init(1) Set errno after built-in math functions @@ -563,7 +559,7 @@ Common Report Var(flag_modulo_sched) Perform SMS based modulo scheduling before the first scheduling pass fmove-loop-invariants -Common Report Var(flag_move_loop_invariants) +Common Report Var(flag_move_loop_invariants) Init(1) Move loop invariant computations out of loops fmudflap diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index f24505562a7..d62d2ddc99e 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -308,7 +308,7 @@ Objective-C and Objective-C++ Dialects}. -finline-functions -finline-limit=@var{n} -fkeep-inline-functions @gol -fkeep-static-consts -fmerge-constants -fmerge-all-constants @gol -fmodulo-sched -fno-branch-count-reg @gol --fno-default-inline -fno-defer-pop -floop-optimize2 -fmove-loop-invariants @gol +-fno-default-inline -fno-defer-pop -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 -funsafe-loop-optimizations -ffinite-math-only @gol @@ -4731,12 +4731,6 @@ exit test conditions and optionally do strength-reduction as 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 -funsafe-loop-optimizations @opindex funsafe-loop-optimizations If given, the loop optimizer will assume that loop indices do not diff --git a/gcc/loop-init.c b/gcc/loop-init.c index 0e0b0cf4c88..cfe4cac6b6b 100644 --- a/gcc/loop-init.c +++ b/gcc/loop-init.c @@ -129,12 +129,15 @@ loop_optimizer_finalize (struct loops *loops, FILE *dumpfile) static bool gate_handle_loop2 (void) { - return (optimize > 0 && flag_loop_optimize2 + return (optimize > 0 && (flag_move_loop_invariants || flag_unswitch_loops || flag_peel_loops || flag_unroll_loops - || flag_branch_on_count_reg)); +#ifdef HAVE_doloop_end + || (flag_branch_on_count_reg && HAVE_doloop_end) +#endif + )); } struct tree_opt_pass pass_loop2 = diff --git a/gcc/opts.c b/gcc/opts.c index afa25d5bc48..0dc3fd0541d 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -520,7 +520,6 @@ decode_options (unsigned int argc, const char **argv) #endif flag_guess_branch_prob = 1; flag_cprop_registers = 1; - flag_loop_optimize = 1; flag_if_conversion = 1; flag_if_conversion2 = 1; flag_ipa_pure_const = 1; diff --git a/gcc/toplev.c b/gcc/toplev.c index b5ee33b33b8..4c425a5ed89 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1536,19 +1536,6 @@ process_options (void) if (flag_rename_registers == AUTODETECT_VALUE) flag_rename_registers = flag_unroll_loops || flag_peel_loops; - /* If explicitly asked to run new loop optimizer, switch off the old - one. */ - if (flag_loop_optimize2) - flag_loop_optimize = 0; - - /* Enable new loop optimizer pass if any of its optimizations is called. */ - if (flag_move_loop_invariants - || flag_unswitch_loops - || flag_peel_loops - || flag_unroll_loops - || flag_branch_on_count_reg) - flag_loop_optimize2 = 1; - if (flag_non_call_exceptions) flag_asynchronous_unwind_tables = 1; if (flag_asynchronous_unwind_tables) |