We present a method for performing automatic procedure integration which selects individual call sites for inlining based on simple hueristics. The hueristics are expressed as two cost functions. One cost function models each procedure and attempts to capture the cost of inlining a procedure. The other cost function models the region around each call site, and attempts to capture the benefit of inlining a particular call site. We describe the implementation of our method in a Fortran90 research compiler prototype and present experimental results. These results demonstrate that our method achieves equal or better execution performance than that obtained by user directed inline expansion on the Fortran subset of the SPECfp92 benchmarks without a significant increase in executable size or compilation time.

By: Paul R. Carini

Published in: RC20286 in 1995

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

7901.ps.gz

Questions about this service can be mailed to reports@us.ibm.com .