Abstract
This paper demonstrates that interprocedural optimization yields significant performance benefits. A classification is presented that encapsulates a subprogram's side-effects into a single attribute. This classification is then used to extend the Common Subexpression Elimination, Dead Code Elimination, and Invariant Hoisting optimizations to include subprogram calls. These extensions reduce the number of subprogram calls thus improving execution speed. Quantitative results are given for both benchmarks and applications.
Preview
Unable to display preview. Download preview PDF.
References
F. Allen, P. Charles, M. Burke, R. Cytron and J, Ferrante. The parallel programming technology project. Research report, IBM Yorktown Heights, 1986.
R. Allen, D. Callahan and K. Kennedy. An implementation of interprocedural data flow analysis in a vectorizing Fortran compiler. Technical Report COMP TR86-38, Department of Computer Science, Rice University, May 1986.
Reference Manual for the Ada Programming Language 1983
J. R. Allen and K. Kennedy. Pfc:a program to convert fortran to parallel form. In K. Hwang (editor), Superconductors: Design and Applications. IEEE Computer Society Press, 1984.
T. Birus, C. Cipriani and D. Sutherland. Strategies for benchmarking with optimizing compilers. Proceedings of the National Aerospace and Electronics Conference, June, 1992.
K. D. Cooper and K. Kennedy. Interprocedural Side Effect Analysis in Linear Time. Proc. of the SIGPLAN 88 Conference on Programming Language Design and Implementation, SIGPLAN Notices 25(6), June, 1988
K. D. Cooper, K. Kennedy and L. Torczon. The Impact of Interprocedural Analysis and Optimization in the Rn Programming Environment. ACM Transactions on Programming Languages and Systems 8(4), Oct., 1986.
M. Ganapathi and K. Kennedy. Interprocedural analysis and optimization. Technical Report COMP TR89-96, Department of Computer Science, Rice University, July, 1989.
K. Kennedy. Ptool. Technical Report, Department of Mathematical Sciences, Rice University, 1986.
S. Richardson and M. Ganapathi. Interprocedural optimization: Experimental Results. Software — Practice and Experience 19(2), Feb. 1989.
D. M. Roy, Ed. Ada Performance Issues. Ada Letters X(3), Winter, 1990.
R. E. Tarjan. Depth-first search and linear graph algorithms. SIAMJ. Computing 1(2), 1988.
W. Wulf. Personal communications, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Birus, T., Cipriani, C., Sutherland, D. (1996). Interprocedural call optimization. In: Strohmeier, A. (eds) Reliable Software Technologies — Ada-Europe '96. Ada-Europe 1996. Lecture Notes in Computer Science, vol 1088. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013499
Download citation
DOI: https://doi.org/10.1007/BFb0013499
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61317-6
Online ISBN: 978-3-540-68457-2
eBook Packages: Springer Book Archive