Tail calls and floating-point types

Nathan Sidwell nathan@codesourcery.com
Fri Sep 10 09:25:00 GMT 2004


Richard Sandiford wrote:
> Andrew Pinski <pinskia@physics.uc.edu> writes:
> 
>>>	* tree-tailcall.c (process_assignment): Only do accumulator
>>>	optimisations if the function has an integral return type.
>>>
>>>testsuite/
>>>	* gcc.c-torture/execute/ieee/acc1.c: New test.
>>>	* gcc.c-torture/execute/ieee/acc2.c: New test.
>>>	* gcc.c-torture/execute/ieee/mzero6.c: New test.
>>
>>Note this is the same as PR 17385.
> 
> 
> Thanks for the pointer.  Unfortunately, the updated patch only avoids
> the ICE for !flag_unsafe_math_optimizations, but I forgot the update
> the changelog appropriately.  It should really have read:
> 
> 	* tree-tailcall.c (process_assignment): Only do accumulator transforms
> 	for floating-point types if flag_unsafe_math_optimizations.
> 
> So I don't think it's appropriate to mark this patch as fix for the PR.
> The reported bug will still be present if you use -funsafe-math-optimizations
> on similar code.  I think the only true fix wuld be to revert Nathan's patch
> or change it in some way.
I will take care of that.  I recall that because this wasn't guarded by
any unsafe-maths stuff, that I concluded it couldn't be floating. (Like
the compiler has no flaws, doh!)

nathan
-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
nathan@codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk




More information about the Gcc-patches mailing list