-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