An Improved Method for Control Dependency in LLVM
The existence of control dependencies within programs necessitates intricate data reorganization, significantly hindering the vectorization capabilities in automated SIMD compilation processes. The latest iteration of the LLVM compiler, employs a control flow vectorization approach that is contingent upon platform-specific mask intrinsic functions. This reliance results in many loops with IF constructs forfeiting their vectorization potential. To address this, a novel mask instruction transformation technique is introduced, converting IF structures to select instructions. This conversion facilitates control flow vectorization independent of intrinsic functions, effectively transitioning from control to data dependencies. Furthermore, an enhancement to the existing Phi node generation algorithm is proposed to augment control flow vectorization opportunities. Utilizing the TSVC benchmark suite, the experimental results demonstrate a 48% increase in vectorization recognition rate following the implementation of the mask instruction transformation. The maximum speedup ratio achieved is 2.4, with an average speedup ratio of 1.6, outperforming LLVM's current automatic vectorization capabilities.
Authors
- Yingying Li (ORCID: https://orcid.org/0000-0002-0237-6824)
- Jianan Li (ORCID: https://orcid.org/0000-0002-6936-9485)
- Wei Gao (ORCID: https://orcid.org/0000-0002-7258-5840)
- Lin Han
Institutions
- Zhengzhou University (CN)
Publication Details
- Published
- 2024-09-27
- DOI
- https://doi.org/10.1109/ichci63580.2024.10808046
- Citations
- 1
- Primary Topic
- Advanced Algorithms and Applications
- Type
- article
- Field-Weighted Citation Impact
- 0.33