Efficient Compilation in Compilers through Uncovering and Eliminating Redundancies - Omonijo, Oluwaseyi Oluwatola; Olateju, Abideen Olaitan; Adesanya, Olujeda Olakunle; Ebirika, Chiyere; John-Dewole, Adedamola Temilola (International Journal of Sciences and Innovation Engineering, 2025)
Redundancy elimination is aimed at reducing unnecessary work and improve execution efficiency of compilers. The efficiency of redundancy elimination has become increasingly important as modern software systems increase in size and complexity, thereby, influencing compilation scalability as well as runtime performance. Redundancy elimination techniques are still frequently applied as isolated optimizations despite extensive prior work, with little emphasis on their coordination, cost, and interaction effects within modern compilation pipelines. Although methods like value numbering, LoopInvariant Code Motion (LICM), Common Subexpression Elimination (CSE), and Partial Redundancy Elimination (PRE) are thoroughly covered in literature, integrative analyses that examine how these methods interact with one another and with downstream optimizations are still lacking. Specifically, there is insufficient synthesis of how redundancy elimination affects loop optimization, register allocation, and instruction scheduling in modern compiler infrastructures. The objective of this study is to present an integrated and critical examination of redundancy elimination in modern compilers, focusing on trade-offs, interactions, and design considerations rather than introducing new algorithms. Using Static Single Assignment (SSA) based intermediate representations as a unifying foundation, the study employs a table-driven analytical evaluation of redundancy categories and investigates their integration with loop optimization and code motion techniques. The analysis shows that while eliminating redundancies can significantly reduce duplicated computation, aggressive or poorly coordinated application may result in increased register pressure, disrupted vectorization patterns, and reduced Instruction-Level Parallelism (ILP). These findings highlight the need for coordination-sensitive and cost-conscious optimization techniques. This study offers insights that inform practical compiler design as well as compiler research by redefining redundancy elimination as an interacting optimization system.
Keywords: redundancy elimination; compiler optimization; partial redundancy elimination; loop optimization; code motion