Oscar Waddell and R. Kent Dybvig, Fast and effective procedure inlining, Indiana University Computer Science Department Technical Report #484. Extended version of a paper to be presented at the Fourth International Static Analysis Symposium (SAS 97), Paris, France, September 8-10, 1997 (bibtex).
The effectiveness of an inlining algorithm is determined not only by its ability to recognize inlining opportunities but also by its discretion in exercising those opportunities. This paper presents a new inlining algorithm for higher-order languages that combines simple analysis techniques with demand-driven online transformation to achieve consistent and often dramatic performance gains in fast linear time. The algorithm is shown to be as effective as and significantly faster than offline, analysis-intensive algorithms recently described in the literature.