diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-08-28 03:35:22 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-08-28 03:35:22 +0000 |
commit | a539e2e603dc2c55bc70761abad51129c1be1a9d (patch) | |
tree | 480e183f65e682922ade7ab74d0bbc0d16008908 /gcc/loop.c | |
parent | 240640517a6fa2ce461b21e8809a98e7a7ec74c8 (diff) | |
download | ppe42-gcc-a539e2e603dc2c55bc70761abad51129c1be1a9d.tar.gz ppe42-gcc-a539e2e603dc2c55bc70761abad51129c1be1a9d.zip |
* flags.h (flag_move_all_movables): Declare.
(flag_reduce_all_givs): Likewise.
* loop.c (move_movables): Handle flag_move_all_movables.
(strength_reduce): Handle flag_reduce_all_givs.
* toplev.c (flag_move_all_movables): Define.
(flag_reduce_all_givs): Likewise.
(f_options): Add -fmove-all-movables and -freduce-all-givs.
* invoke.texi: Document new options, including alias stuff that
wasn't included last time.
Two of the "Tooning" options :-)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14987 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop.c')
-rw-r--r-- | gcc/loop.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/loop.c b/gcc/loop.c index 5e0d1d1dac6..2b4af61b574 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -1722,6 +1722,7 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs) extra cost because something else was already moved. */ if (already_moved[regno] + || flag_move_all_movables || (threshold * savings * m->lifetime) >= insn_count || (m->forces && m->forces->done && n_times_used[m->forces->regno] == 1)) @@ -3991,8 +3992,8 @@ strength_reduce (scan_start, end, loop_top, insn_count, of such giv's whether or not we know they are used after the loop exit. */ - if (v->lifetime * threshold * benefit < insn_count - && ! bl->reversed) + if ( ! flag_reduce_all_givs && v->lifetime * threshold * benefit < insn_count + && ! bl->reversed ) { if (loop_dump_stream) fprintf (loop_dump_stream, |