This is the mail archive of the gcc@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: -ffast-math and floating point reordering



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.


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