aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2005-07-27 14:20:39 +0000
committerZdenek Dvorak <dvorakz@suse.cz>2005-07-27 14:20:39 +0000
commitcea0226e77758d33ebf02e4002ff978a31e72641 (patch)
treea9ed4c9b7c5758ca1c564584ae66ff0fb119ab03
parent9cd805cc97ef060f662d6f0f14c020351bc92044 (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.killloop10
-rw-r--r--gcc/common.opt6
-rw-r--r--gcc/doc/invoke.texi8
-rw-r--r--gcc/loop-init.c7
-rw-r--r--gcc/opts.c1
-rw-r--r--gcc/toplev.c13
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)