[m-dev.] Thoughts on binary back-ends

Fergus Henderson fjh at cs.mu.OZ.AU
Thu Jun 21 11:57:34 AEST 2001


On 19-Jun-2001, Ralph Becket <rbeck at microsoft.com> wrote:
> I've been thinking about compiler back-ends and been looking at
> C-- and MLRISC and so forth (I admit it's not something I've
> studied extensively).  These are some preliminary thoughts on
> the subject - I'd be interested to hear other people's views
> and opinions.

What problem are you trying to solve?

You seem to be proposing a particular design, but I didn't understand
your motivation in proposing this particular design or how it was
intended to improve on existing approaches.

> LL code would be compiled by the back-end into a very low level 
> language.  Pretty much all that would be required is a set of
> translations, the most complex being a specification of the
> calling convention (parameter order, return address specification,
> caller/callee saves register sets, global register values etc.),
> and a spot of register colouring.

There's actually a lot of work to writing an efficient native code back-end.
E.g. as well as the things above, you need to handle
	- scheduling
	- generation of PIC (or not)
	- handling gp (global pointer) registers
	  (for PIC code on some architectures)
	- etc.

It's definitely a non-trivial amount of work and the code would require
a non-trivial amount of maintenance.

> While we would certainly expect an improvement in compilation times,

Is that the problem you're trying to solve?

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list