-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