From Newsgroup: comp.compilers
This paper says it significantly improves vector performance in GCC and
LLVM.
https://arxiv.org/abs/2510.04890
Retrofitting Control Flow Graphs in LLVM IR for Auto Vectorization
Shihan Fang, Wenxin Zheng
Modern processors increasingly rely on SIMD instruction sets, such as AVX
and RVV, to significantly enhance parallelism and computational
performance. However, production-ready compilers like LLVM and GCC often
fail to fully exploit available vectorization opportunities due to
disjoint vectorization passes and limited extensibility. Although recent attempts in heuristics and intermediate representation (IR) designs have attempted to address these problems, efficiently simplifying control flow analysis and accurately identifying vectorization opportunities remain challenging tasks.
To address these issues, we introduce a novel vectorization pipeline
featuring two specialized IR extensions: SIR, which encodes high-level structural information, and VIR, which explicitly represents instruction dependencies through data dependency analysis. Leveraging the detailed dependency information provided by VIR, we develop a flexible and
extensible vectorization framework. This approach substantially improves interoperability across vectorization passes and expands the search space
for identifying isomorphic instructions, ultimately enhancing both the
scope and efficiency of automatic vectorization. Experimental evaluations demonstrate that our proposed vectorization pipeline achieves significant performance improvements, delivering speedups of up to 53% and 58%
compared to LLVM and GCC, respectively.
Regards,
John Levine,
johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail.
https://jl.ly
--- Synchronet 3.21a-Linux NewsLink 1.2