This is the mail archive of the 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: [tree-ssa] g95 SEGV building libgfortran

In message <>, 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?


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