Abstract
Although optimization technology has been successful over the past 40 years, recent trends are emerging that demand we reconsider the paradigm that we are using for code optimization. In particular, the trends toward dynamic optimization, writing embedded system software in high level languages and the lack of significant performance improvement from current optimization research are forcing us to rethink what we know and do not know about optimization. A number of problems dealing with both semantic and application properties of optimizations have always existed but have been mostly ignored. The challenge in optimization today is to explore properties of optimizations and develop a framework for better understanding and use of optimizations. Fortunately, research is starting to explore properties, including proving the soundness of optimizations, proving the correctness of optimizations, specifications of optimizations, and the predictability of profits of optimizations. Not only must we understand the properties, but we also need to integrate the properties into a framework. Only then can we address the problems of the developing trends.
Chapter PDF
Similar content being viewed by others
References
Lacey, E., Jones, N.D., Eric Van Wyk, E., Christian Frederiksen, C.: Proving Correctness of Compiler Optimizations by Temporal Logic. In: Proceedings of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, Oregon, pp. 283–294 (2002)
Lerner, S., Millstein, T., Chambers, C.: Automatically Proving the Correctness of Compiler Optimizations. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 1–19 (2003)
Necula, G.C.: Translation Validation for an Optimizing Compiler. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, Vancouver, British Columbia, Canada, pp. 83–94 (2000)
Whitfield, D., Soffa, M.L.: An Approach for Exploring Code Improving Transformations. ACM Transactions on Programming Languages 19(6), 1053–1084 (1997)
Jaramillo, C., Gupta, R., Soffa, M.L.: Comparison Checking: An approach to avoid debugging of optimized code. In: ACM SIGSOFT Proceedings of Foundation of Software Engineering, pp. 268–284 (1999)
Triantafyllis, S., Vachharajani, M., Vachharajani, N., August, D.: Compiler Optimization- space Exploration. In: 1st International Symposium on Code Generation and Optimization, pp. 204–215 (2003)
Cooper, K., Subramanian, D., Torczon, L.: Adaptive Optimizing Compilers for the 21st Century. In: Proceedings of the 2001 LACSI Symposium, Santa Fe, NM, USA (October 2001)
Kisuki, T., Knijnenburg, P.M.W., O’Boyle, M.F.P.: Combined Selection of Tile Size and Unroll Factors Using Iterative Compilation. In: International Conference on Parallel Architectures and Compilation Techniques, pp. 237–246 (2000)
Whitfield, D., Soffa, M.L.: An Approach to Ordering Optimizing Transformations. In: Proceedings ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming, pp. 137–146 (1990)
Zhao, M., Childers, B., Soffa, M.L.: Predicting the Impact of Optimizations for Embedded Systems. In: 2003 ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems, San Diego, CA, pp. 1–11 (2003)
Zhao, M., Childers, B., Soffa, M.L.: Profit Driven Optimizations, Technical Report, University of Pittsburgh (January 2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Soffa, M.L. (2004). Developing a Foundation for Code Optimization. In: Duesterwald, E. (eds) Compiler Construction. CC 2004. Lecture Notes in Computer Science, vol 2985. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24723-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-540-24723-4_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21297-3
Online ISBN: 978-3-540-24723-4
eBook Packages: Springer Book Archive