This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: -ffast-math and floating point reordering
On Fri, Mar 26, 2004 at 11:37:42AM -0700, law@redhat.com wrote:
> In message <4064721A.6060905@tat.physik.uni-tuebingen.de>, Richard Guenther wri
> tes:
> >> 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.
> Well, given that the front-ends don't even provide this information at this
> time, I don't consider it a defect. I consider it a long term enhancement
> we need to add first to the front-ends, then to the SSA bits.
A design decision has to be made about how the information should be
provided; you can't add it "first to the front-ends, then to the SSA bits"
because first you have to say how it's to be represented.
Someone mentioned PLUS_EXPR; this seems to be a reference to a feature
that was temporarily considered for the C89 standard: it was proposed to
keep the K&R rule of wild rearrangement and use unary plus to say "don't
rearrange". But if that idea is used, then the C and C++ front ends would
have to put a PLUS_EXPR around *every* expression.
Since Fortran is the only language that seems to permit re-association at
all, it seems that the default should be that the middle and back ends
don't do re-association unless the frond end communicates that it is OK.