Abstract
We present techniques that allow strength reduction to be performed concurrently with partial redundancy elimination in the SSAPRE framework. By sharing the characteristics inherent to SSAPRE, the resulting strength reduction algorithm exhibits many interesting attributes. We compare various aspects of the new strength reduction algorithm with previous strength reduction algorithms. We also outline and discuss our implementation of the closely related linear function test replacement optimization under the same framework.
Chapter PDF
Keywords
References
Allen, F., Cocke, J. and Kennedy, K. Reduction of Operator Strength, in Muchnick, S. and Jones, N. (editors) Program Flow Analysis: Theory and Applications, Prentice Hall, 1981, pp. 79–101.
Cai, J. and Paige, R. Look Ma, No Hashing, and No Arrays Neither. Proceedings of the 18th Symposium on Principles of Programming Languages, January 1991, pp. 143–154.
Chow, F., Chan, S., Kennedy, R., Liu, S., Lo, R. and Tu, P A New Algorithm for Partial Redundancy Elimination based on SSA Form. Proceedings of the SIGPLAN `97 Conference on Programming Language Design and Implementation, June 1997, pp. 273–286.
Chow, F. “A Portable Machine-independent Global Optimizer-Design and Measurements,” Ph.D. Thesis and Technical Report 83-254, Computer System Lab, Stanford University, Dec. 1983.
Cocke, J. and Kennedy, K. An Algorithm for Reduction of Operator Strength. Communications of the ACM, 20:11 (1977) pp. 850–856.
Cytron, R., Ferrante, J., Rosen B., Wegman, M. and Zadeck, K., Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. ACM Transactions on Programming Languages and Systems, October 1991, pp. 451–490.
Cooper, K., Simpson, T. and Vick, C. Operator Strength Reduction, Technical Report CRPC-TR95635-S, Rice University, October 1995.
Dhamdhere, D. A New Algorithm for Composite Hoisting and Strength Reduction Optimization (+ Corrigendum). International Journal of Computer Mathematics 27 (1989), pp. 1–14 (+ 31-32).
Joshi, S. and Dhamdhere, D. A Composite Hoisting-Strength Reduction Transformation for Global Program Optimization, Part I and II. International Journal of Computer Mathematics, II (1982), pp. 21–41, 111-126.
Knoop, J., Ruthing, O. and Steffen, B., Lazy Code Motion. Proceedings of the SIGPLAN `92 Conference on Programming Language Design and Implementation, June 1992, pp. 224–234.
Knoop, J., Ruthing, O. and Steffen, B., Lazy Strength Reduction. Journal of Programming Languages (1993) 1, pp. 71–91.
Knoop, J., Ruthing, O. and Steffen, B., Optimal Code Motion: Theory and Practice. ACM Transactions on Programming Languages and Systems, October 1994, pp. 1117–1155.
Liu, S., Lo, R. and Chow, E. Loop Induction Variable Canonicalization in Parallelizing Compilers. Proceedings of the Fourth International Conference on Parallel Architectures and Compilation Techniques, October 1996, pp. 228-237.
Morel, E. and Renvoise, C. Global Optimization by Suppression of Partial Redundancies. Communications of the ACM 22(2), February 1979, pp. 96–103.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kennedy, R., Chow, F., Dahl, P., Liu, SM., Lo, R., Streich, M. (1998). Strength reduction via SSAPRE. In: Koskimies, K. (eds) Compiler Construction. CC 1998. Lecture Notes in Computer Science, vol 1383. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0026428
Download citation
DOI: https://doi.org/10.1007/BFb0026428
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64304-3
Online ISBN: 978-3-540-69724-4
eBook Packages: Springer Book Archive