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

Institutions

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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

An Improved Method for Control Dependency in LLVM

Yingying Li, Jianan Li, Wei Gao, Lin Han
1 citations
Advanced Algorithms and Applications
0.33
article

An Improved Method for Control Dependency in LLVM

Yingying Li, Jianan Li, Wei Gao, Lin Han
article en
1 citations

Abstract

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.

Zhengzhou University (CN)
Openalex Percentile: Top 38%
Advanced Algorithms and Applications
0.33
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

An Improved Method for Control Dependency in LLVM — Yingying Li, Jianan Li, et al. · (2024) | TGRS Research Map | TGRS