Related articles |
---|
Un-inlining? jallen@libserv1.ic.sunysb.edu (Joseph Allen) (1991-05-07) |
Re: Un-inlining? pardo@june.cs.washington.edu (1991-05-09) |
Re: Un-inlining? preston@titan.rice.edu (1991-05-09) |
Newsgroups: | comp.compilers |
From: | pardo@june.cs.washington.edu (David Keppel) |
Keywords: | optimize, design |
Organization: | Computer Science & Engineering, U. of Washington, Seattle |
References: | <1991May08.174909.19692@iecc.cambridge.ma.us> |
Date: | Thu, 9 May 91 00:59:06 GMT |
Joseph Allen <jallen@libserv1.ic.sunysb.edu> 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
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.