-ffast-math and floating point reordering

Fariborz Jahanian fjahanian@apple.com
Fri Mar 26 19:54:00 GMT 2004


On Mar 26, 2004, at 10:10 AM, Richard Guenther wrote:

> Diego Novillo wrote:
>> On Fri, 2004-03-26 at 12:42, Joe Buck wrote:
>>> One possible representation in GIMPLE would be a flag indicating 
>>> that a
>>> temporary can be, well, I'll call it "refactored" (feel free to 
>>> suggest a
>>> better word).  That is, given GIMPLE code like
>>>
>>> 	t1 = a + b;
>>> 	t2 = t1 + c;
>>> 	e = t2 + d;
>>>
>>> if the original Fortran input was
>>>
>>>   	e = a + b + c + d
>>>
>>> then t1 and t2 would be tagged as refactorable, while if the original
>>> input were
>>>
>>> 	d = ((a + b) + c) + d
>>>
>>> then t1 and t2 would not be so tagged.  In the first case, we would
>>> probably want to produce
>>>
>>> 	t1 = a + b;
>>> 	t2 = c + d;
>>> 	e = t1 + t2;
>>>
>>> since the first two additions can now be performed in parallel.  But
>>> this transformation is not legal in the second case.
>>>
>> Yeah.  We sort of discussed adding additional PLUS_EXPR operands 
>> and/or
>> attributes at last year's summit.  But I think that was the extent of
>> it.  IIRC, there was beer involved, so I doubt anybody was taking 
>> notes.
>
> Hmm, this is usually the point where we get the LLVM people tell us 
> what they are doing here...  I consider not being able to do something 
> about this in tree-ssa a major defect, too.

Yes. Also 'generic' must include an PAREN_EXPR, or ORD_EXPR that 
languages can take advantage of
and rest of the compiler honor.

- Fariborz

>
> Richard.



More information about the Gcc mailing list