Optimization Techniques in Compiler Design: A Structured Review

Authors

  • Er. Sarthak Singh B.tech (Computer Science), Krishna Institute of Engineering and Technology, Ghaziabad (UP) Author

Abstract

Compilers bridge the gap between software and hardware by translating programs to machine code. A compiler’s goal is to preserve the program’s semantics while optimizing it for some objective, such as execution time, code size, or energy consumption. Once the initial compiler transformations have been applied, developers and f​oundries usually try to optimize the generated code again to improve the design further. The result becomes the final post-optimized code. Compiler-designers plan the optimizations carefully, taking the design constraints into consideration. Compiler optimizations can be broadly categorized into either Machine-Dependent Optimization (MDO) and Machine-Independent Optimization (MIO). Machine-independently optimized programs not only validate the design for some benchmarks but are also portable for different applications. On-the-fly optimization includes target-specific optimizations, such as loop ordering, multiplication by powers of two, vectorization, strength-reduction or constant folding. Programmers eager to improve overall performance turn to optimization across these programming languages.

This survey organizes well-known compiler optimization techniques in a structured framework, covering the central problems and solutions employed by various compilers over more than three decades. The discussion is motivated by the continued relevance of compiler optimization in programming language research. A collection of additional observations complements the main techniques to provide further details on the topic of compiler optimization. Code generation and instruction scheduling are closely related activities that specify the final target machine instructions and the timing of each instruction. Such activities are often performed by separate compiler modules after the actual optimization steps. Consequently, they are not the primary focus of the survey. Instead, code generation, the analysis and optimization of multithreaded programs, and transformations that require semantics-preserving approximations are excluded from the description. Previous surveys on compiler optimizations have generally been organized and presented differently, emphasizing different aspects such as parallelizing or vectorizing optimizations (H. Ashouri et al., 2018) (Kelefouras & Djemame, 2018).

Keywords: compiler, optimization, Code generation, techniques.

Downloads

Published

2025-12-15

How to Cite

Optimization Techniques in Compiler Design: A Structured Review. (2025). International Journal of Emerging Research in Computer Science, 1(1), 55-76. https://ijercs.com/index.php/ijercs/article/view/5