From: Toon Moene Date: Sun, 12 Sep 2004 05:51:02 +0000 (+0200) Subject: common.opt: Remove flags -fmove-all-movables and -freduce-all-givs. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a924fe34118e65f7d75b0bea124e79b0ec9d7a37;p=gcc.git common.opt: Remove flags -fmove-all-movables and -freduce-all-givs. 2004-09-12 Toon Moene * common.opt: Remove flags -fmove-all-movables and -freduce-all-givs. * loop-invariant.c (find_invariants_to_move): Remove all uses of flag_move_all_movables. * loop.c (move_movables): Remove all uses of flag_move_all_movables. (strength_reduce): Remove all uses of flag_reduce_all_givs. * doc/invoke.texi: Remove documentation of flags -fremove-all-movables and -freduce-all-givs. From-SVN: r87386 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7316abd0135..f9b548a830a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2004-09-12 Toon Moene + + * common.opt: Remove flags -fmove-all-movables and + -freduce-all-givs. + * loop-invariant.c (find_invariants_to_move): + Remove all uses of flag_move_all_movables. + * loop.c (move_movables): Remove all uses of + flag_move_all_movables. + (strength_reduce): Remove all uses of + flag_reduce_all_givs. + * doc/invoke.texi: Remove documentation of flags + -fremove-all-movables and -freduce-all-givs. + 2004-09-11 Roger Sayle PR middle-end/17411 diff --git a/gcc/common.opt b/gcc/common.opt index 619740c24de..147f37fd23a 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -523,10 +523,6 @@ fmodulo-sched Common Report Var(flag_modulo_sched) Perform SMS based modulo scheduling before the first scheduling pass -fmove-all-movables -Common Report Var(flag_move_all_movables) -Force all loop invariant computations out of loops - fmove-loop-invariants Common Report Var(flag_move_loop_invariants) Move loop invariant computations out of loops @@ -646,10 +642,6 @@ frandom-seed= Common Joined RejectNegative -frandom-seed= Make compile reproducible using -freduce-all-givs -Common Report Var(flag_reduce_all_givs) -Strength reduce all loop general induction variables - freg-struct-return Common Report Var(flag_pcc_struct_return,0) VarExists Return small aggregates in registers diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index f728eb95268..4cb1c1599d4 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -294,7 +294,7 @@ Objective-C and Objective-C++ Dialects}. -floop-optimize -fcrossjumping -fif-conversion -fif-conversion2 @gol -finline-functions -finline-limit=@var{n} -fkeep-inline-functions @gol -fkeep-static-consts -fmerge-constants -fmerge-all-constants @gol --fmodulo-sched -fmove-all-movables -fnew-ra -fno-branch-count-reg @gol +-fmodulo-sched -fnew-ra -fno-branch-count-reg @gol -fno-default-inline -fno-defer-pop -floop-optimize2 -fmove-loop-invariants @gol -fno-function-cse -fno-guess-branch-probability @gol -fno-inline -fno-math-errno -fno-peephole -fno-peephole2 @gol @@ -303,7 +303,7 @@ Objective-C and Objective-C++ Dialects}. -fomit-frame-pointer -foptimize-register-move @gol -foptimize-sibling-calls -fprefetch-loop-arrays @gol -fprofile-generate -fprofile-use @gol --freduce-all-givs -fregmove -frename-registers @gol +-fregmove -frename-registers @gol -freorder-blocks -freorder-blocks-and-partition -freorder-functions @gol -frerun-cse-after-loop -frerun-loop-opt @gol -frounding-math -fschedule-insns -fschedule-insns2 @gol @@ -4702,20 +4702,6 @@ the loop is entered. This usually makes programs run more slowly. If supported by the target machine, generate instructions to prefetch memory to improve the performance of loops that access large arrays. -@item -fmove-all-movables -@opindex fmove-all-movables -Forces all invariant computations in loops to be moved -outside the loop. - -@item -freduce-all-givs -@opindex freduce-all-givs -Forces all general-induction variables in loops to be -strength-reduced. - -@emph{Note:} When compiling programs written in Fortran, -@option{-fmove-all-movables} and @option{-freduce-all-givs} are enabled -by default when you use the optimizer. - These options may generate better or worse code; results are highly dependent on the structure of loops within the source code. diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c index 2004dbf1df3..36d5118d135 100644 --- a/gcc/loop-invariant.c +++ b/gcc/loop-invariant.c @@ -715,17 +715,6 @@ find_invariants_to_move (struct df *df) unsigned i, regs_used, n_inv_uses, regs_needed = 0, new_regs; struct invariant *inv = NULL; - if (flag_move_all_movables) - { - /* This is easy & stupid. */ - for (i = 0; i < VARRAY_ACTIVE_SIZE (invariants); i++) - { - inv = VARRAY_GENERIC_PTR_NOGC (invariants, i); - inv->move = true; - } - return; - } - if (!VARRAY_ACTIVE_SIZE (invariants)) return; diff --git a/gcc/loop.c b/gcc/loop.c index 8f1ace8f1c4..11e16a5a8c7 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -1885,7 +1885,6 @@ move_movables (struct loop *loop, struct loop_movables *movables, extra cost because something else was already moved. */ if (already_moved[regno] - || flag_move_all_movables || (threshold * savings * m->lifetime) >= (regs->array[regno].moved_once ? insn_count * 2 : insn_count) || (m->forces && m->forces->done @@ -5122,8 +5121,7 @@ strength_reduce (struct loop *loop, int flags) of such giv's whether or not we know they are used after the loop exit. */ - if (! flag_reduce_all_givs - && v->lifetime * threshold * benefit < insn_count + if (v->lifetime * threshold * benefit < insn_count && ! bl->reversed) { if (loop_dump_stream)