-ffast-math and floating point reordering

Richard Guenther rguenth@tat.physik.uni-tuebingen.de
Fri Mar 26 19:03:00 GMT 2004


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.

Richard.



More information about the Gcc mailing list