Related articles |
---|
code generator generators? mike@vlsivie.tuwien.ac.at (1991-09-05) |
Re: code generator generators? pardo@gar.cs.washington.edu (1991-09-06) |
Re: code generator generators? horst@techfak.uni-bielefeld.de (1991-09-09) |
Re: code generator generators? bill@hcx2.ssd.csd.harris.com (1991-09-09) |
Re: code generator generators? shuksan!scott@bcstec.ca.boeing.com (1991-09-09) |
Re: code generator generators? clifton_r@zon.verifone.com (Clifton Royston HNL (808)625-3234) (1991-09-12) |
Re: code generator generators? jourdan@minos.inria.fr (1991-09-16) |
[1 later articles] |
Newsgroups: | comp.compilers |
From: | mike@vlsivie.tuwien.ac.at (Michael Gschwind - EECS) |
Keywords: | code, design, question |
Organization: | Compilers Central |
Date: | Thu, 5 Sep 91 13:33:09 -0700 |
What's the current state of research on code generator generators? While the
front end side seems to be fairly well automated by now, back end
generation still seems to be an unresolved issue. There are only two systems
I can think of which are (or claim to be) able to generate back ends:
* MESS, a system based on high-level semantics, by Lee&Pleban (if I remember
correctly). They had two articles about 3 or 4 years ago, but one of the
authors said that MESS was not in a distributable state. However, he
was going to write a book on this approach. - Has anybody heard of any
research in that direction.
* GCC, which has probably the most workable - and the only
in-production use - code generator generator. (There are several tool
programs gen* which generate a set of insn-*.[ch] files, which could be
thought of as "the code generator generator" part.) However GCC has some
drawbacks, as it is targeted at a very specific subset of machines.
Also, in a way, you can think of the back end of GCC-1.* as a glorified
pattern matcher. GCC-2.* seems to be much better here. (I've never
actually seen the GCC-2.* source code, but I've seen some machine
descriptions for it, which allow for more sophisticated scheduling
decisions than gcc-1.* machine descriptions do.)
What about using constraint logic programming for code generation? This should
allow to cut down on the possibilities to check, while still being more
flexible than a static pattern matcher. (I've read a paper by Krall&Ertl on
using CLP for scheduling of pipeline constraints for the Motorola 88k, and
this seems to have worked quite well.)
Mike
Michael Gschwind, Dept. of VLSI-Design, Vienna University of Technology
mike@vlsivie.tuwien.ac.at || mike@vlsivie.uucp
[Peter Lee wrote a nice book on MESS, published by MIT Press, but still said
that the code was too awful to distribute. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.