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