* flags.h (flag_rerun_loop_opt): Declare.
* loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
* toplev.c (flag_rerum_loop_opt): Delete static.
From-SVN: r16362
+Fri Nov 7 16:23:20 1997 Jim Wilson (wilson@cygnus.com)
+
+ * flags.h (flag_rerun_loop_opt): Declare.
+ * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
+ * toplev.c (flag_rerum_loop_opt): Delete static.
+
Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com>
* frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
extern int flag_fast_math;
+/* Nonzero means to run loop optimizations twice. */
+
+extern int flag_rerun_loop_opt;
+
/* Nonzero means make functions that look like good inline candidates
go inline. */
We don't know the loop bounds here though, so just fail for all
labels. */
- if (flag_unroll_loops)
+ /* ??? This is also necessary if flag_rerun_loop_opt is true, because in
+ this case we may be doing loop unrolling the second time we run loop,
+ and hence the first loop run also needs this check. There is no way
+ to check here whether the second run will actually do loop unrolling
+ though, as that info is in a local var in rest_of_compilation. */
+ if (flag_unroll_loops || flag_rerun_loop_opt)
return 0;
else
return 1;
/* Nonzero means to run loop optimizations twice. */
-static int flag_rerun_loop_opt;
+int flag_rerun_loop_opt;
/* Nonzero for -finline-functions: ok to inline functions that look like
good inline candidates. */