Re: Compilers taking advantage of architectural enhancements

jourdan@minos.inria.fr (Martin Jourdan)
15 Oct 90 09:02:35 GMT

          From comp.compilers

Related articles
Compilers taking advantage of architectural enhancements aglew@crhc.uiuc.edu (1990-10-11)
Re: Compilers taking advantage of architectural enhancements preston@titan.rice.edu (1990-10-11)
Re: Compilers taking advantage of architectural enhancements golds@fjcnet.GOV (1990-10-12)
Re: Compilers taking advantage of architectural enhancements aglew@crhc.uiuc.edu (1990-10-12)
Re: Compilers taking advantage of architectural enhancements spot@TR4.GP.CS.CMU.EDU (1990-10-12)
Re: Compilers taking advantage of architectural enhancements ctl8588@rigel.tamu.edu (1990-10-14)
Re: Compilers taking advantage of architectural enhancements jourdan@minos.inria.fr (1990-10-15)
Re: Compilers taking advantage of architectural enhancements anders@dit.lth.se (1990-10-16)
Re: Compilers taking advantage of architectural enhancements hankd@dynamo.ecn.purdue.edu (1990-10-16)
Re: Compilers taking advantage of architectural enhancements preston@titan.rice.edu (1990-10-16)
Re: Compilers taking advantage of architectural enhancements anders@dit.lth.se (1990-10-17)
Re: Compilers taking advantage of architectural enhancements larus@primost.cs.wisc.edu (1990-10-17)
Re: Compilers taking advantage of architectural enhancements hankd@ecn.purdue.edu (1990-10-18)
[2 later articles]
| List of all articles for this month |
Newsgroups: comp.compilers
From: jourdan@minos.inria.fr (Martin Jourdan)
Keywords: design, optimize
Organization: INRIA, Rocquencourt, France
References: <1990Oct9> <3300194@m.cs.uiuc.edu> <AGLEW.90Oct11222801@treflan.crhc.uiuc.edu> <1990Oct12.230424.930@esegue.segue.boston.ma.us>
Date: 15 Oct 90 09:02:35 GMT

In article <1990Oct12.230424.930@esegue.segue.boston.ma.us>,
golds@fjcnet.GOV (Rich Goldschmidt) writes:
=> Maybe this is naive or too futuristic, but is anyone working towards
=> methods for automatically generating a compiler based on the architecture
=> design?


There already has been a HUGE amount of work, and work is still going on, on
``automatic'' generation of *parts of* compilers from architectural
descriptions. The most obvious example is the work on code generation
(instruction selection and register allocation), for which there now exist
usable systems, e.g. TWIG, BEG and Pagode (non-exhaustive list). Pagode for
instance (I know it quite well because it is being developed by colleagues
of mine at INRIA) takes as input a grammar describing the input IR trees and
a description of the machine which can be very easily deduced from the
``programmer's manual'' provided by the CPU manufacturer. The basic
entities in a machine description are storage bases (registers, memory,
etc.), storage classes (groups thereof), access modes, access classes and
instructions. The semantics of the instructions is given in terms of the IR
grammar. From this Pagode generates an instruction selector and a register
allocator.


Work is also going on in other areas of compiler construction. For
instance, Francois Bodin showed in his thesis (``Optimisation de microcode
pour une architecture horizontale et synchrone: etude et mise en oeuvre d'un
compilateur'', U. Rennes, France, June 1989) that it was possible to use a
finer description of the machine, exhibiting timing and other ``internal''
information, to automatically generate instruction schedulers. Davidson and
Fraser are well known for their work on the automatic construction of
peephole optimizers from machines descriptions.


Automatic generation of other compiler phases is probably also possible but
you then have to take into account source-language issues in addition to
target-machine ones.


=> [...] Chip designers might even take compilers into
=> consideration in their designs :-).


This is obviously desirable, and I believe this was the main motivation
to start this discussion thread.


Martin Jourdan <jourdan@minos.inria.fr>, INRIA, Rocquencourt, France.
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.