On Mon, Aug 29, 2011 at 11:32 PM, Michael Meissner
<meiss...@linux.vnet.ibm.com> wrote:
> David asked me to reverse the default for the -msave-toc-indirect option, 
> since
> it is buggy in a few cases, and in other places causes slowdowns if the
> function has an early exit before calling the indrect function.  I also
> documented the switch.
>
> I did the usual bootstrap and make check with no regressions, and committed 
> the
> patch.

Was this switch available in 4.6.x?  If so please document the change of the
default in gcc-4.7/changes.html.

Thanks,
Richard.

> 2011-08-29  Michael Meissner  <meiss...@linux.vnet.ibm.com>
>
>        * config/rs6000/rs6000.opt (-msave-toc-indirect): Change default
>        to off.  Document switch.
>        * doc/invoke.texi (-msave-toc-indirect): Ditto.
>
> Index: gcc/config/rs6000/rs6000.opt
> ===================================================================
> --- gcc/config/rs6000/rs6000.opt        (revision 178259)
> +++ gcc/config/rs6000/rs6000.opt        (working copy)
> @@ -526,5 +526,5 @@ Target Report Var(TARGET_POINTERS_TO_NES
>  Use/do not use r11 to hold the static link in calls to functions via 
> pointers.
>
>  msave-toc-indirect
> -Target Undocumented Var(TARGET_SAVE_TOC_INDIRECT) Save Init(1)
> -; Control whether we save the TOC in the prologue for indirect calls or 
> generate the save inline
> +Target Report Var(TARGET_SAVE_TOC_INDIRECT) Save
> +Control whether we save the TOC in the prologue for indirect calls or 
> generate the save inline
> Index: gcc/doc/invoke.texi
> ===================================================================
> --- gcc/doc/invoke.texi (revision 178259)
> +++ gcc/doc/invoke.texi (working copy)
> @@ -814,7 +814,8 @@ See RS/6000 and PowerPC Options.
>  -mrecip -mrecip=@var{opt} -mno-recip -mrecip-precision @gol
>  -mno-recip-precision @gol
>  -mveclibabi=@var{type} -mfriz -mno-friz @gol
> --mpointers-to-nested-functions -mno-pointers-to-nested-functions}
> +-mpointers-to-nested-functions -mno-pointers-to-nested-functions @gol
> +-msave-toc-indirect -mno-save-toc-indirect}
>
>  @emph{RX Options}
>  @gccoptlist{-m64bit-doubles  -m32bit-doubles  -fpu  -nofpu@gol
> @@ -16438,6 +16439,15 @@ static chain value to be loaded in regis
>  not be able to call through pointers to nested functions or pointers
>  to functions compiled in other languages that use the static chain if
>  you use the @option{-mno-pointers-to-nested-functions}.
> +
> +@item -msave-toc-indirect
> +@itemx -mno-save-toc-indirect
> +@opindex msave-toc-indirect
> +Generate (do not generate) code to save the TOC value in the reserved
> +stack location in the function prologue if the function calls through
> +a pointer on AIX and 64-bit Linux systems.  If the TOC value is not
> +saved in the prologue, it is saved just before the call through the
> +pointer.  The @option{-mno-save-toc-indirect} option is the default.
>  @end table
>
>  @node RX Options
>
>
> --
> Michael Meissner, IBM
> 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA
> meiss...@linux.vnet.ibm.com     fax +1 (978) 399-6899
>

Reply via email to