Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!olivea!mintaka!spdcc!iecc!compilers-sender From: preston@ariel.rice.edu (Preston Briggs) Newsgroups: comp.compilers Subject: Re: SPARC code generation references Keywords: SPARC, optimize Message-ID: <91-05-104@comp.compilers> Date: 28 May 91 14:27:44 GMT References: <91-05-100@comp.compilers> <91-05-101@comp.compilers> Sender: compilers-sender@iecc.cambridge.ma.us Reply-To: preston@ariel.rice.edu (Preston Briggs) Organization: Rice University, Houston Lines: 27 Approved: compilers@iecc.cambridge.ma.us >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 pages 85-94 published as Siplan Notices, Volume 23, Number 7 July 1988 See section 5, "Shrink-wrapping Callee-saved Registers". Preston Briggs -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.