On Wed, Jan 04, 2023 at 05:20:14PM +0800, Kewen.Lin wrote:
> As Honza pointed out in [1], the current uses of function
> optimize_function_for_speed_p in rs6000_option_override_internal
> are too early, since the query results from the functions
> optimize_function_for_{speed,size}_p could be changed later due
> to profile feedback and some function attributes handlings etc.
> 
> This patch is to move optimize_function_for_speed_p to all the
> use places of the corresponding flags, which follows the existing
> practices.  Maybe we can cache it somewhere at an appropriate
> timing, but that's another thing.

> @@ -25604,7 +25602,9 @@ rs6000_call_aix (rtx value, rtx func_desc, rtx 
> tlsarg, rtx cookie)
> 
>         /* Can we optimize saving the TOC in the prologue or
>            do we need to do it at every call?  */
> -       if (TARGET_SAVE_TOC_INDIRECT && !cfun->calls_alloca)
> +       if (TARGET_SAVE_TOC_INDIRECT
> +           && !cfun->calls_alloca
> +           && optimize_function_for_speed_p (cfun))
>           cfun->machine->save_toc_in_prologue = true;

Is this correct?  If so, it really needs a separate testcase.

The rest looks good.  Thanks!


Segher

Reply via email to