Re: Register optimizations

conway@munta.cs.mu.OZ.AU (Thomas Charles CONWAY)
Sat, 18 Mar 1995 01:43:28 GMT

          From comp.compilers

Related articles
Register optimizations ArielMars@aol.com (1995-03-02)
Re: Register optimizations mercier@news.cinenet.net (1995-03-05)
Re: Register optimizations baynes@ukpsshp1.serigate.philips.nl (1995-03-08)
Re: Register optimizations torbenm@diku.dk (1995-03-09)
Re: Register optimizations preston@tera.com (1995-03-12)
Re: Register optimizations anton@mips.complang.tuwien.ac.at (1995-03-16)
Re: Register optimizations conway@munta.cs.mu.OZ.AU (1995-03-18)
optimizing compiler design preston@tera.com (1995-03-21)
| List of all articles for this month |

Newsgroups: comp.compilers
From: conway@munta.cs.mu.OZ.AU (Thomas Charles CONWAY)
Keywords: registers, optimize
Organization: Computer Science, University of Melbourne, Australia
References: 95-03-025 95-03-072
Date: Sat, 18 Mar 1995 01:43:28 GMT

preston@tera.com (Preston Briggs) writes:


>The front end should be resolutely non-optimizing.


Why should this be the case? The compiler that my research group
is writing optimizes a few things (so far) at the high level,
and we have a few honours students just starting with us who will
be looking at high level optimization which will take place in the
front end of the compiler.


It is true that to date, the majority of optimization has been done
on low-level intermediate code, and such optimization can be very
effective, but there are fewer and fewer new oppertunities for such
optimization, so if you want your compiler to be better than the
rest, then you need to seek new horizons. This is where language
design (rather than language implementation) becomes very important:
if your language can specify a minimum of "how" information (eg
sequencing, variable update, etc), and a maximum of "what" information
(eg x depends on *these* variables, to evaluate z we first need to
evaluate these three functions, etc), then hopefully the compiler
will be able to manipulate the high level form of the program to
improve its behaviour at the algorithmic level.


Such optimizations already exist: deforrestation (Wadler),
constraint propegation (eg Tsutsumi, et al), and so on.


cheers,
Thomas
--


Post a followup to this message

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