Affiliation:
1. Hewlett-Packard Massachusetts Language Laboratory, 300 Apollo Drive, Chelmsford, MA
Abstract
Existing research understates the benefits that can be obtained from inlining and cloning, especially when guided by profile information. Our implementation of inlining and cloning yields excellent results on average and very rarely lowers performance. We believe our good results can be explained by a number of factors: inlining at the intermediate-code level removes most technical restrictions on what can be inlined; the ability to inline across files and incorporate profile information enables us to choose better inline candidates; a high-quality back end can exploit the scheduling and register allocation opportunities presented by larger subroutines; an aggressive processor architecture benefits from more predictable branch behavior; and a large instruction cache mitigates the impact of code expansion. We describe the often dramatic impact of our inlining and cloning on performance: for example, the implementations of our inlining and cloning algorithms in the HP-UX 10.20 compilers boost SPECint95 performance on a PA8000-based workstation by a factor of 1.32.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
17 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. GraalSP: Polyglot, efficient, and robust machine learning-based static profiler;Journal of Systems and Software;2024-07
2. Exploiting Partially Context-sensitive Profiles to Improve Performance of Hot Code;ACM Transactions on Programming Languages and Systems;2023-12
3. Bibliography;Engineering a Compiler;2023
4. Data-Flow Analysis;Engineering a Compiler;2023
5. Understanding and exploiting optimal function inlining;Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems;2022-02-22