Education, Science, Technology, Innovation and Life
Open Access
Sign In

Optimization of misaligned data processing based on LLVM compiler

Download as PDF

DOI: 10.23977/icmee.2019.2738

Author(s)

Lingqin Gong, Qinglei Zhou and Hao Hu

Corresponding Author

Lingqin Gong

ABSTRACT

The processing of misaligned data is optimized based on the directed acyclic graph at the back end of the LLVM compiler. Implements the LLVM compiler's processing of unaligned scalar data and unaligned vector data. The processing and optimization of misaligned data mainly includes two aspects: 1. Provides optimized processing of misaligned vector data and scalar data based on directed acyclic graph, which solves the problem of misaligned memory access affecting program performance. 2. In the LLVM compiler backend instruction selection phase, a custom node downgrade process is provided, which enhances the flexibility and reusability of the optimization. Test the program containing misaligned data. The maximum speedup of the problem with unaligned scalar data is 20.27, the average speedup is 14.49, the maximum speedup of the problem with unaligned vector data is 14.01, and the average speedup is 13.61.

KEYWORDS

LLVM, Directed acyclic graph, misaligned data, Instruction selection

All published work is licensed under a Creative Commons Attribution 4.0 International License.

Copyright © 2016 - 2031 Clausius Scientific Press Inc. All Rights Reserved.