On Thu, Dec 20, 2012 at 02:51:55PM +0100, Richard Biener wrote:
> In the PR we perform expression replacement of an FP operation
> across a builtin call that sets the FP control register.  This
> patch restricts replacement across calls further, from allowing
> all builtins to only allowing those without side-effects.
> 
> Allowing replacement over calls at all was to not pessimize
> FP code generation for example for sqrt which is most often
> expanded to a single instruction.
> 
> Bootstrap and regtest running on x86_64-unknown-linux-gnu.
> 
> Comments?

Wouldn't it be better to have there a list of known builtins over which it
is fine to do TER?  I'd bet most of memory or string builtins that don't
call malloc/free should be still ok, but they surely have side-effects.

> 2012-12-20  Richard Biener  <rguent...@suse.de>
> 
>       PR middle-end/55752
>       * tree-ssa-ter.c (find_replaceable_in_bb): Only allow replacing
>       across calls with no side-effects.

        Jakub

Reply via email to