Related articles |
---|
[2 earlier articles] |
Why do we still assemble? hbaker@netcom.com (1994-04-06) |
Re: Why do we still assemble? djohnson@arnold.ucsd.edu (1994-04-07) |
Re: Why do we still assemble? jpab+@andrew.cmu.edu (Josh N. Pritikin) (1994-04-07) |
Re: Why do we still assemble? preston@noel.cs.rice.edu (1994-04-07) |
Re: Why do we still assemble? Nand.Mulchandani@Eng.Sun.COM (1994-04-07) |
Re: Why do we still assemble? pardo@cs.washington.edu (1994-04-08) |
Re: Why do we still assemble? pardo@cs.washington.edu (1994-04-08) |
Re: Why do we still assemble? law@snake.cs.utah.edu (1994-04-08) |
Re: Why do we still assemble? steve@cegelecproj.co.uk (1994-04-08) |
Re: Why do we still assemble? bill@amber.csd.harris.com (1994-04-08) |
Re: Why do we still assemble? hbaker@netcom.com (1994-04-08) |
Re: Why do we still assemble? rcskb@minyos.xx.rmit.EDU.AU (1994-04-10) |
Re: Why do we still assemble? Keith.Bierman@Eng.Sun.COM (1994-04-10) |
[25 later articles] |
Newsgroups: | comp.compilers |
From: | pardo@cs.washington.edu (David Keppel) |
Keywords: | assembler, design |
Organization: | Computer Science & Engineering, U. of Washington, Seattle |
References: | 94-04-032 |
Date: | Fri, 8 Apr 1994 01:53:26 GMT |
In 94-04-032 hbaker@netcom.com (Henry G. Baker) writes:
>[Other than institutional intertia, why compile to assembly code?]
Many retargetable compilers are written to generate code for an
abstraction of the real machine (I've heard Robert Henry call it the
``Compiler Writer's Virtual Machine'', I don't know if it's a common term
or not, but it should be :-). The CWVM contains a number of
simplifications of the real machine; the assembler and linker are expected
to mop up the spills.
Compiling for a CWVM fails for some of the reasons Henry mentions -- that
the compiler and assembler both do some of the same tasks. But for
``moderately optimizing'' compilers, the separation can be fairly good and
the machine descriptions can be very terse; sometimes a few hundred lines.
More detailed optimizations require a more detailed model of the machine,
though, so the advantages of a simple CWVM get lost.
A little off the topic, note that any retargetable compiler (whether it
generates assembly or machine code) is faced to some degree with the UNCOL
problem: either the abstract machine description omits some details and
thus loses some optimizations, or the abstract machine description comes
to be a union of all possible machine features.
%A M. E. Conway
%T A Proposal For An UNCOL
%J CACM
%V 1
%N 10
%D Oct. 1958
%P 5-8
(This is actually the inverse statement of the original UNCOL problem,
which needs an IR with all source language features, but one implies the
other.)
;-D on ( UNCOLing all cars ) Pardo
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.