This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Tail calls and floating-point types


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.

Richard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]