From: Jim Wilson Date: Sun, 9 Nov 1997 08:35:46 +0000 (+0000) Subject: flags.h (flag_rerun_loop_opt): Declare. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=64fde7010b6a3a678df227c06df09815d3aaec2b;p=gcc.git flags.h (flag_rerun_loop_opt): Declare. * 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: r16389 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5db233fcf59..aaaa939c821 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Sun Nov 9 01:37:11 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. + Sat Nov 8 18:20:21 1997 J"orn Rennecke * sh.h (ENABLE_REGMOVE_PASS): Define. diff --git a/gcc/flags.h b/gcc/flags.h index 5b3c7639e06..ba057204ded 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -275,6 +275,10 @@ extern int flag_volatile_global; 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. */ diff --git a/gcc/loop.c b/gcc/loop.c index 70f15513cc9..e43d58518d1 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -2847,7 +2847,12 @@ invariant_p (x) 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; diff --git a/gcc/toplev.c b/gcc/toplev.c index 956d78e09be..aeffbb3a85c 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -508,7 +508,7 @@ static int flag_rerun_cse_after_loop; /* 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. */