Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!olivea!mintaka!spdcc!iecc!compilers-sender From: pardo@june.cs.washington.edu (David Keppel) Newsgroups: comp.compilers Subject: Re: Un-inlining? Keywords: optimize, design Message-ID: <1991May09.135711.3428@iecc.cambridge.ma.us> Date: 9 May 91 00:59:06 GMT References: <1991May08.174909.19692@iecc.cambridge.ma.us> Sender: compilers-sender@iecc.cambridge.ma.us Reply-To: pardo@june.cs.washington.edu (David Keppel) Organization: Computer Science & Engineering, U. of Washington, Seattle Lines: 36 Approved: compilers@iecc.cambridge.ma.us Joseph Allen writes: >Do any optimizers un-inline (outline)? Yes, it's called `proceduralization'. The idea is to take common idioms and stuff them in to a single function. See the Irvine Program Transformation Catalogue and %A Christopher W. Fraser %A Eugene W. Myers %A Alan L. Wendt %T Analyzing and Compressing Assembly Code %B Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction %J SIGPLAN Notices %V 19 %N 6 %D June 1984 %P 117-121 A related operation is to optimize the common path through a function. Possible optimizations include delaying register spill/restore until the values are actually used (rather than ``well they're used *somewhere* in the function; consider the SPARC `save' and `restore' instructions) and stack adjusts for storage that is declared at the outermost level but is used only at some inner level(s). I know of no compilers that do the latter. ;-D on ( In Unlining? ) Pardo -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.