When I was working on cleanups to invoke.texi I noticed this bit in the SH Options section:
@item -madjust-unroll @opindex madjust-unroll Throttle unrolling to avoid thrashing target registers. This option only has an effect if the GCC code base supports the TARGET_ADJUST_UNROLL_MAX target hook. Well, the current manual is supposed to document what the current GCC code base does, so I looked up this target hook and found it was deleted in 2007 with a ChangeLog note that it has been dead since gcc 4.0.0. However the command-line option is still present. :-S Any reason why we should not delete this entirely, per the attached patch? I haven't built/tested this (except for the manual) but can do that if the patch isn't sufficiently obvious. -Sandra 2012-03-09 Sandra Loosemore <san...@codesourcery.com> gcc/ * config/sh/sh.opt (madjust-unroll): Delete. * config/sh/sh.h (TARGET_OPT_DEFAULT): Don't use MASK_ADJUST_UNROLL. * doc/invoke.texi (Option Summary): Remove -madjust-unroll. (SH Options): Likewise.
Index: gcc/config/sh/sh.opt =================================================================== --- gcc/config/sh/sh.opt (revision 185167) +++ gcc/config/sh/sh.opt (working copy) @@ -205,10 +205,6 @@ maccumulate-outgoing-args Target Report Mask(ACCUMULATE_OUTGOING_ARGS) Reserve space for outgoing arguments in the function prologue -madjust-unroll -Target Report Mask(ADJUST_UNROLL) Condition(SUPPORT_ANY_SH5) -Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this - mb Target Report RejectNegative InverseMask(LITTLE_ENDIAN) Generate code in big endian mode Index: gcc/config/sh/sh.h =================================================================== --- gcc/config/sh/sh.h (revision 185167) +++ gcc/config/sh/sh.h (working copy) @@ -290,7 +290,7 @@ do { \ #endif #ifndef TARGET_OPT_DEFAULT -#define TARGET_OPT_DEFAULT MASK_ADJUST_UNROLL +#define TARGET_OPT_DEFAULT 0 #endif #define TARGET_DEFAULT \ Index: gcc/doc/invoke.texi =================================================================== --- gcc/doc/invoke.texi (revision 185168) +++ gcc/doc/invoke.texi (working copy) @@ -885,7 +885,7 @@ See RS/6000 and PowerPC Options. -mieee -mbitops -misize -minline-ic_invalidate -mpadstruct -mspace @gol -mprefergot -musermode -multcost=@var{number} -mdiv=@var{strategy} @gol -mdivsi3_libfunc=@var{name} -mfixed-range=@var{register-range} @gol --madjust-unroll -mindexed-addressing -mgettrcost=@var{number} -mpt-fixed @gol +-mindexed-addressing -mgettrcost=@var{number} -mpt-fixed @gol -maccumulate-outgoing-args -minvalid-symbols -msoft-atomic @gol -mbranch-cost=@var{num} -mcbranchdi -mcmpeqdi -mfused-madd -mpretend-cmove @gol -menable-tas} @@ -18129,12 +18129,6 @@ useful when compiling kernel code. A re two registers separated by a dash. Multiple register ranges can be specified separated by a comma. -@item -madjust-unroll -@opindex madjust-unroll -Throttle unrolling to avoid thrashing target registers. -This option only has an effect if the GCC code base supports the -TARGET_ADJUST_UNROLL_MAX target hook. - @item -mindexed-addressing @opindex mindexed-addressing Enable the use of the indexed addressing mode for SHmedia32/SHcompact.