Tim Josling <[EMAIL PROTECTED]> writes:

> 2. Most-Gimplified front-end: Allied to Q1, which front ends have been
> most thoroughly converted to GIMPLE?

They've all been converted to generate GENERIC, or they wouldn't work.


> 3. LANG_HOOKS: There has been some discussion about LANG_HOOKS being
> removed in the future. From memory this was in the context of the
> "optimization in the linker (LTI)" projects. Is there a replacement I
> should use now, or is there anything I should do to prepare for the
> replacement?

There is no replacement.  The idea is to extend GENERIC/GIMPLE
sufficiently that lang hooks are not needed.


> 4. What does Gimple cover: What is the scope of GIMPLE? Most of the
> discussion is about procedural code. Does it also cover variable
> definition, function prototype definition etc.

GIMPLE is about procedural code.  Variable definitions are done using
essentially the same data structures, though.


> 5. What is deprecated: Is there any time-effective way to identify
> constructs, header files, macros, variable and functions that are
> "deprecated".

Not really.  We try not to leave deprecated stuff around for too long.


> 6. Tuples: I am a bit confused about tuples. Tuples seem to be really
> just structs by another name, unless I have missed the point. The idea
> is not a bad one - I went through the same process in the Lisp code in
> the front end where initially I stored everything in arrays and later
> switched to structs/tuples. In lisp this provided the advantages of
> run-time type-checking and the ability to use mnemonic names. 
>
> The first email about tuples that I can find seems to assume a
> reasonable amount of background on the part of the reader:
> http://www.mailinglistarchive.com/gcc@gcc.gnu.org/msg01669.html
>
> Some clarification about what the tuples project is trying to do, and in
> particular how I should position for the advent of tuples would be very
> useful. I have read the material in the Wiki and from the GCC summit.

Tuples is a reworking of the internal data structures.  They shouldn't
matter for a frontend, as they are generated during the gimplification
process.


> 7. Should I target GENERIC, High Gimple or Low Gimple? Would I miss
> optimizations if I went straight to a Gimple representation? Is one
> interface more likely to change radically in the future? The assumption
> here is that the front end will be using an entirely different
> representation so there is no question of using one of these in the
> Front End. It is just a question of which format to convert into.

You should normally target GENERIC, and pass it to the gimplifier.
That's the defined interface.  Really GENERIC and GIMPLE are not so
different--you can essentially generate GIMPLE if you like, but you
should still pass it to the gimplifier.

Ian

Reply via email to