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