A Practical System for Intermodule Code Optimization at Link-Time

作者: David W. Wall , Amitabh Srivastava

DOI:

关键词:

摘要: We have developed a system called OM to explore the problem of code optimization at link-time. takes collection object modules constituting entire program, and converts into symbolic Register Transfer Language (RTL) form that can be easily manipulated. This RTL is then transformed by intermodule finally converted back form. Although much high-level information about program gone link-time, this approach enables us perform optimizations compiler looking single module cannot see. Since are more or less independent particular source language compiler, also gives chance improve in ways some compilers might simply missed. To test concept, we used build an optimizer does interprocedural motion. It moves simple loop-invariant out loops, even when loop body extends across many procedures control different procedure from invariant code. Our technique handles ‘‘loops’’ induced recursion rather than iteration. motion makes use liveness analysis discover dead registers it hold results. lets elimination. applied our removal SPEC benchmarks compiled with using standard for DECstation 5000. improved performance 5% on average 14% one case. More improvement should possible soon; present move only load load-address operations scavenge these values, completely reallocating them. paper will appear March issue Journal Programming Languages. replaces Technical Note TN-31, earlier version same material.

参考文章(42)
Frances E. Allen, Interprocedural Data Flow Analysis. ifip congress. pp. 398- 402 ,(1974)
Van P. Carey, William R. Hamburgen, John S. Fitch, Wade R. McGillis, Pool Boiling on Small Heat Dissipating Elements in Water at Subatmospheric Pressure ,(1999)
Stephen E. Richardson, Evaluating interprocedural code optimization techniques Stanford University. ,(1992)
Michael Nelson, Michael N. Nelson, Virtual Memory vs. The File System ,(1999)
Joel McCormack, Bob McNamara, A Smart Frame Buffer ,(1999)
Ravi Sethi, Jeffrey D. Ullman, Alfred V. Aho, Compilers: Principles, Techniques, and Tools ,(1986)
Jeffrey C Mogul, None, Recovery in Spritely NFS Computing Systems. ,vol. 7, pp. 201- 262 ,(1994)
Georgia Lazana, R. E. Kessler, Anita Borg, David W. Wall, Long Address Traces from RISC Machines: Generation and Analysis ,(1999)