summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/gcc/toplev.c
diff options
context:
space:
mode:
authorJason Downs <downsj@cvs.openbsd.org>1996-07-27 02:52:39 +0000
committerJason Downs <downsj@cvs.openbsd.org>1996-07-27 02:52:39 +0000
commit978f1b8e18efed5647513070f53f269049feb83c (patch)
treece00da25c18405cf3e6847ad3d72d14d363e98b9 /gnu/usr.bin/gcc/toplev.c
parente2ce9843b6a157aadf0700edefbe6d916cb98c57 (diff)
Initial integration of G77.
Please do a make cleandir before rebuilding gcc!
Diffstat (limited to 'gnu/usr.bin/gcc/toplev.c')
-rw-r--r--gnu/usr.bin/gcc/toplev.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/gnu/usr.bin/gcc/toplev.c b/gnu/usr.bin/gcc/toplev.c
index 1b6fccb5d60..4d33910170d 100644
--- a/gnu/usr.bin/gcc/toplev.c
+++ b/gnu/usr.bin/gcc/toplev.c
@@ -387,6 +387,20 @@ int flag_unroll_loops;
int flag_unroll_all_loops;
+/* Nonzero forces all invariant computations in loops to be moved
+ outside the loop. */
+
+int flag_move_all_movables = 0;
+
+/* Nonzero forces all general induction variables in loops to be
+ strength reduced. */
+
+int flag_reduce_all_givs = 0;
+
+/* Nonzero gets another run of loop_optimize performed. */
+
+int flag_rerun_loop_opt = 0;
+
/* Nonzero for -fwritable-strings:
store string constants in data segment and don't uniquize them. */
@@ -541,6 +555,9 @@ struct { char *string; int *variable; int on_value;} f_options[] =
{"strength-reduce", &flag_strength_reduce, 1},
{"unroll-loops", &flag_unroll_loops, 1},
{"unroll-all-loops", &flag_unroll_all_loops, 1},
+ {"move-all-movables", &flag_move_all_movables, 1},
+ {"reduce-all-givs", &flag_reduce_all_givs, 1},
+ {"rerun-loop-opt", &flag_rerun_loop_opt, 1},
{"writable-strings", &flag_writable_strings, 1},
{"peephole", &flag_no_peephole, 0},
{"force-mem", &flag_force_mem, 1},
@@ -2893,6 +2910,8 @@ rest_of_compilation (decl)
TIMEVAR (loop_time,
{
loop_optimize (insns, loop_dump_file);
+ if (flag_rerun_loop_opt)
+ loop_optimize (insns, loop_dump_file);
});
}