Related articles |
---|
Intermediate Representation simon_google@mookstar.co.uk (2001-10-10) |
Re: Intermediate Representation jbeniston@siroyan.com (Jon Beniston) (2001-10-12) |
Re: Intermediate Representation vbdis@aol.com (2001-10-12) |
Intermediate Representation napi@rangkom.MY (1990-08-07) |
Re: Intermediate Representation briscoe-duke@CS.YALE.EDU (Duke Briscoe) (1990-08-08) |
Re: Intermediate Representation preston@rice.edu (Preston Briggs) (1990-08-08) |
Re: Intermediate Representation mod@westford.ccur.com (Michael O'Donnell (508)392-2915) (1990-08-09) |
Re: Intermediate Representation grover@brahmand.Eng.Sun.COM (1990-08-09) |
Re: Intermediate Representation preston@titan.rice.edu (1990-08-10) |
Re: Intermediate Representation larus@primost.cs.wisc.edu (1990-08-12) |
Re: Intermediate Representation grover@brahmand.Eng.Sun.COM (1990-08-12) |
Re: Intermediate Representation hankd@dynamo.ecn.purdue.edu (1990-08-12) |
Re: Intermediate Representation jouvelot@brokaw.lcs.mit.edu (1990-08-12) |
Re: Intermediate Representation convex!csmith@uunet.UU.NET (1990-08-12) |
[14 later articles] |
Newsgroups: | comp.compilers |
From: | grover@brahmand.Eng.Sun.COM (Vinod Grover) |
Keywords: | code, optimize, design |
Organization: | Sun Microsystems, Mt. View, Ca. |
References: | <1990Aug08.171640.13892@esegue.segue.boston.ma.us> |
Date: | Thu, 09 Aug 90 18:06:27 GMT |
In article <1990Aug08.171640.13892@esegue.segue.boston.ma.us> Preston Briggs <preston@rice.edu> writes:
>AST's seem too high-level for doing lots of optimization. We want the
>details of array accesses, etc. exposed to the optimizer.
>
>Actually, I'll qualify this a little. I believe there are many optimizations
>that can be carried out most effectively on a high-level representation (for
>example, those requiring dependence analysis) and many that should be carried
>out on a low level representation (e.g., CSE elimination, strength
>reduction). This is the sort of approach we've taken locally.
First of all, there is no reason why an AST based IR cannot have low-level
features (such as array/memory accesses). The Bliss-11 compiler had the '.'
(dot) operator for representing memory fetches. One nice feature property of
the dot operator was that it could be used, both, in lhs and rhs position of
an assignment operator. e.g. a[i] would be represented as .(a+.i) This made
a lot of optimizations quite simple and uniform. e.g a memory access could
be treated as a CSE.
Second, as Bliss-11 showed global CSE elimination can be done at a high
level. Similarly, strength reduction isnt that hard at a high level. Karl
Ottenstein showed, in an IEEE paper several years ago, that strength
reduction is easy to do on PDGs and can easily be extended to ASTs. (I do
not have the reference handy but can post it, if anyone is interested.)
Vinod Grover
Sun Microsystems
grover@sun.com
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.