Re: Compiler back-ends [Q]

cliffc@ami.sps.mot.com (Cliff Click)
Mon, 23 Oct 1995 14:33:08 GMT

          From comp.compilers

Related articles
Compiler back-ends [Q] Ben.Sloman@reading.ac.uk (1995-10-21)
Re: Compiler back-ends [Q] cliffc@ami.sps.mot.com (1995-10-23)
Re: Compiler back-ends [Q] pardo@cs.washington.edu (1995-10-25)
Re: Compiler back-ends [Q] jgj@ssd.hcsc.com (1995-10-27)
Re: Compiler back-ends [Q] collberg@cs.aukuni.ac.nz (1995-10-29)
Re: Compiler back-ends [Q] Martin.Jourdan@inria.fr (1995-11-03)
Re: Compiler back-ends [Q] sc@iaxp01.inf.uni-jena.de (Sebastian Schmidt) (1995-11-03)
Re: Compiler back-ends [Q] cliffc@ami.sps.mot.com (1995-11-03)
| List of all articles for this month |

Newsgroups: comp.compilers
From: cliffc@ami.sps.mot.com (Cliff Click)
Keywords: code, comment
Organization: none
References: 95-10-099
Date: Mon, 23 Oct 1995 14:33:08 GMT

Ben.Sloman@reading.ac.uk (Ben Sloman) writes:


> `the back-ends of most production compilers are generated automatically'
> True or false? On what grounds (examples/references appreciated)?
> ---
> Ben Sloman, Postgraduate: Compilers for Parallel Machines, Reading University
> Ben.Sloman@reading.ac.uk
> [I'll eat my hat if it's true. -John]


I think _many_ back-ends have automatically generated pieces
dovetailed into delicate handwritten code.


lcc - uses lburg to convert a machine description to C code for code
            selection.


gcc - uses some sort of machine description as well


TI - makes DSPs (this implies no binary compatibility and a whole no
          archectecure every few months). The compiler group relies
          heavily on automatic generation in the backend - they have to
          ship a good compiler on a new archecticure in just a few months.


Motorola - The PPC compiler uses awk scripts over a machine
          description to handle scheduling differences amongst different
          implementations.


The old Davidson/Fraser/Wendt peephole code selection & optimzation
stuff works well and is easy to implement (and understand! and tweak!)
Lots of folks use that 'style' of backend code selection, and that
implies lots of folks use some amount of machine generated code.


Note that this is a _far_ cry from having the entire backend generated
automatically. It's just instruction selection and some peephole
opts. Register allocation is an amazing can of worms, and I don't know
of any machine-generated code techniques being used there.


Cliff
--
Cliff Click Compiler Researcher & Designer
RISC Software, Motorola PowerPC Compilers
cliffc@risc.sps.mot.com (512) 891-7240
[Maybe I'll just eat the strings that tie under my chin. -John]
--


Post a followup to this message

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