|SPARC code generation references firstname.lastname@example.org (1991-05-24)|
|Re: SPARC code generation references email@example.com (1991-05-26)|
|Re: SPARC code generation references firstname.lastname@example.org (1991-05-28)|
|Re: SPARC code generation references email@example.com (1991-05-28)|
|Re: SPARC code generation references array!colin (1991-05-27)|
|From:||firstname.lastname@example.org (Preston Briggs)|
|Organization:||Rice University, Houston|
|Date:||Tue, 28 May 91 14:27:44 GMT|
>Oddly enough, a day or two before this appeared I was talking to John Gilmore
>and Sean Fagan about this very issue.
> Move save and restore instructions `inward', renumbering
> registers, until they `bump into' call instructions or until
> the registers do not fit in the free %o set. (Then move the
>This technique might be called `leaf crushing' (I wanted to call it `leaf
>burning' but that was a bit too much of a stretch :-) ).
Nevertheless, it's already been done as part of the MIPS compiler.
It's called "shrink wrapping" and is described in Chow's 1988 paper
Minimizing Register Usage at Procedure Calls
by Fred Chow
in Proceedings of the Sigplan 88 Conference on Programming
Language Design and Implementation
published as Siplan Notices, Volume 23, Number 7
See section 5, "Shrink-wrapping Callee-saved Registers".
Return to the
Search the comp.compilers archives again.