[gnu.gcc] backend snarfing, intermediate code

wilson@uicbert.eecs.uic.edu (01/10/89)

I'm a little lost in this discussion of the (technical) issues in
snarfing gcc's backend.  Could somebody clue me in a little?

I'm looking for a retargetable code generator for a Scheme implementation
I'm thinking of doing.  I just need something that takes some middle-of-
the-road intermediate language and can generate optimized code for a
lot of architectures.  It doesn't have to be really *efficient* code, just
a level better than simply translating intermediate language instructions
blindly into (sequences of) architecture-specific instructions.

Would it be worth the trouble to snarf the backend of gcc for this?  I
very much like the idea that it would generate code for all of the
architectures gcc will.  I'm not too worried about direct moral problems
with this course of action because my system would be a noncommercial
freebie as well.  (I do need to give thought to the idea that it might
make it easier for the next person, who might use my lines of modularity
to package up a standalone backend.)

If gcc is unsuitable for this, can anybody recommend a better backend?  I
want portability, and am even considering generating C code;  that's
a real drag when it comes to linking into a running Lisp system.  (Some
systems have dynamic linking, but it wouldn't be very portable.)  I
would much prefer being able to integrate the code generator directly
into my program, since one of the things I may want to do is experiment
with dynamic compilation techniques.

Thanks,

    Paul

Paul R. Wilson                         
Human-Computer Interaction Laboratory
U. of Illin. at C. EECS Dept. (M/C 154)   wilson%uicbert@uxc.cso.uiuc.edu
Box 4348   Chicago,IL 60680