Language-independent functions-as-trees representation

Jason Merrill jason@redhat.com
Fri Jul 26 15:56:00 GMT 2002


>>>>> "Pop" == Pop Sébastian <pop@gauvain.u-strasbg.fr> writes:

> On Tue, Jul 23, 2002 at 09:15:07AM -0400, Diego Novillo wrote:
>> > 
>> > Where's GENERIC documented ?  Is this something the g95 developers should
>> > know about (I'm seeing the name for the first time) ?
>> > 
>> I don't think it's documented anywhere.  I saw them first
>> mentioned by Jason as a working name for language-independent
>> trees that do not have the strict structure imposed by SIMPLE.

> Then it seems that the issue about over simplification of call 
> expressions due to the 3-address form of SIMPLE at inlining time is 
> solved if we perform inlining not on SIMPLE, but on GENERIC trees.  

Not really; the issue affects simplification regardless of whether we do
inlining before or after simplification.  (Though if we do it after, we'll
probably want to simplify the expansion).

> I understand GENERIC as beeing the original tree structure on which
> we eliminate sugar syntaxes (most of which comes from c/c++ front-end
> trees).

FYI, I think you mean "syntactic sugar".

> As Richard Henderson suggested we'll need some more GENERIC nodes 
> comming from other languages than C/C++ family.  F95 and Java are two 
> good candidates.  We'll have to extend trees with nodes for expressing 
> parallelism/thread concepts as pointed out by Richard.  

> Maybe what we search in GENERIC is the definition of a normal form for 
> imperative programs?

Yes.

Jason



More information about the Gcc mailing list