Loop Splitting Optimization Via Semi-Invariance Analysis in Static Single Assignment Form
Loop splitting is a key compiler optimization technique for reducing control overhead and improving pipeline efficiency. To address the limited applicability of the existing loop splitting strategy in GCC compiler, an improved algorithm is proposed based on Static Single Assignment form. It categorizes condition variables by their positions in PHI nodes into loop-header PHI node condition variables and merge PHI node condition variables. For these two types of condition variables, the algorithm performs semi-invariance analysis separately and selects partitioning points accordingly, thereby achieving more general loop splitting optimization. The algorithm is implemented in the Sunway GCC compiler. Experimental results show that, compared to the original loop splitting algorithm, the algorithm improves the performance of the <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$470. \text{lbm}$</tex> benchmark in SPEC CPU 2006 test suite by 8.8%, and the <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$620.0 m n e t p p_{s}$</tex> benchmark in SPEC CPU 2017 test suite by 4.3%. This method expands the scope of optimizable loop structures, improves the optimization efficiency of the Sunway GCC compiler, and can provide assistance for the basic software ecosystem construction of the domestic Sunway platform.
Authors
- H. Liu (ORCID: https://orcid.org/0009-0007-5942-8174)
- Kai Nie (ORCID: https://orcid.org/0000-0001-7568-4628)
- Mengyao Chen
- Jingjing Shao
- Lin Han (ORCID: https://orcid.org/0000-0002-8569-7972)
- Haoran Li (ORCID: https://orcid.org/0000-0002-2379-1541)
Institutions
- Zhengzhou University (CN)
- National Supercomputing Center in Wuxi (CN)
Publication Details
- Published
- 2025-04-25
- DOI
- https://doi.org/10.1109/iccea65460.2025.11103279
- Primary Topic
- VLSI and FPGA Design Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00