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