[comp.compilers] Looking for a reference to "Leaf Functions Optimization"

steve@nuchat.uucp (Steve Nuchia) (05/06/88)

> An optimizing compiler can reduce the register saving/restoring (RSR) traffic
> during function calls by changing the allocation of variables to registers
> for leaf functions. ...

> This is a conventional optimization that is used in some compilers. I am
> looking for a reference to it. ...

An article in Dr. Dobbs Journal (unless I'm mistaken - memory grows foggy)
a couple of years ago gave a very complete description and analysis of
a recursive leaf-finder for C.  It was motivated by a desire to generate
tolerable code for a machine (6502?) with essentially no registers - it
attempted to maximally pack stack variables into a fast-reference page
in memory.

No chance of finding it here without an index.  Other possible publications
include Byte (not likely) and Computer Language (probably before they started).
Best guess for date would be to do a concentric search around '85 or '86.
-- 
Steve Nuchia, uunet!nuchat!steve, (713) 334 6720
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | bbn}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request

zs@mulga.oz.au (Zoltan Somogyi) (05/08/88)

> An optimizing compiler can reduce the register saving/restoring (RSR) traffic
> during function calls by changing the allocation of variables to registers
> for leaf functions. ...
> 
> This is a conventional optimization that is used in some compilers. I am
> looking for a reference to it. ...

Here is one:

F. Chow, M. Himelstein, E. Killian, L. Weber: Engineering a RISC compiler
system, Digest of Papers of the Thirtyfirst IEEE Computer Society
International Conference (CompCon 86 Spring), February 1986, pp. 132-137.

It describes the MIPS C compiler which has the optimization you mentioned.

Zoltan Somogyi
UUCP:	{uunet,mcvax,ukc}!munnari.oz!zs
ARPA:	zs%munnari.oz@uunet.uu.net
CSNET:	zs%munnari.oz@australia
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU
Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | bbn}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request