This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] g95 SEGV building libgfortran
- From: law at redhat dot com
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: Paul Brook <paul at nowt dot org>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Thu, 04 Sep 2003 15:13:57 -0600
- Subject: Re: [tree-ssa] g95 SEGV building libgfortran
- Reply-to: law at redhat dot com
In message <email@example.com>, Diego Novillo
>Aha! This is where we go back to the language vs optimizer issue :) If
>we don't allow the FE to generate LOOP_EXPR, then we are effectively
>changing the GIMPLE grammar.
Well, given that LOOP_EXPR was taken out of tree-simple.[ch] I think that
we're going to a model where LOOP_EXPR is not part of the gimple grammar.
However, it _might_ be part of the generic grammar. I really don't know
(I haven't thought too much about that).
>I'm fine with that, but we need to
>document the change in the grammar and probably ask the Fortran folks if
>that's OK with them.
Well, the change in the grammar is already documented in tree-simple.? Are
there other instances that need to change?
Note that we've talked about having a lowering pass (for COND_EXPR,
SWITCH_EXPR, etc) -- fundamentally if that's where we go, then the
fortran front-end will need to call into that lowering pass rather
than assuming the gimplification process will do it.
If that's where we ultimately go, then lowering the LOOP_EXPR there
would seem pretty natural, except the the fact that we removed LOOP_EXPR
from tree-simple.? :-)
>I don't know whether it's merely annoying or impossible to make that
>change in the Fortran FE. In principle, I wouldn't think it's
>impossible, but then again I'm not the one making the change :)
It doesn't look terribly difficult to change in the fortran front-end.
There's probably a half-dozen instances and they share enough common
structure that they may be factorable into a single routine anyway, so
it could be isolated.
Anyway, we need to settle on which way we want to go. Do we remove
LOOP_EXPR from the gimple grammar, or do we leave it in gimple, but
lower them to labels & jumps before building the cfg?