Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Fast allocation and deallocation of memory based on object lifetimes
Software—Practice & Experience
An experiment with inline substitution
Software—Practice & Experience
Managing interprocedural optimization
Managing interprocedural optimization
Interprocedural optimization: eliminating unnecessary recompilation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Scalable cross-module optimization
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Scalable High Performance Cross-Module Inlining
Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques
Inline Analysis: Beyond Selection Heuristics
Proceedings of the International Symposium on Code Generation and Optimization
Practical Structure Layout Optimization and Advice
Proceedings of the International Symposium on Code Generation and Optimization
Whole-program optimization of global variable layout
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
Structure Layout Optimization for Multithreaded Programs
Proceedings of the International Symposium on Code Generation and Optimization
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Lightweight feedback-directed cross-module optimization
Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization
Efficient flow-sensitive interprocedural data-flow analysis in the presence of pointers
CC'06 Proceedings of the 15th international conference on Compiler Construction
Hi-index | 0.00 |
Performing analysis across module boundariesfor an entire program is important for exploitingseveral runtime performance opportunities. However,due to scalability problems in existing full-programanalysis frameworks, such performance opportunitiesare only realized by paying tremendous compile-timecosts. Alternative solutions, such as partialcompilations or user assertions, are complicated orunsafe and as a result, not many commercialapplications are compiled today with cross-moduleoptimizations.This paper presents SYZYGY, a practicalframework for performing efficient, scalable,interprocedural optimizations. The framework isimplemented in the HP-UX Itanium® compilers andwe have successfully compiled many very largeapplications consisting of millions of lines of code. Weachieved performance improvements of up to 40%over optimization level two and compilation timeimprovements in the order of 100% and morecompared to a previous approach.