Title
Directive-Based Parallelization of For-Loops at LLVM IR Level
Abstract
Currently, multicore processors widely spread and many computers can improve processing performance by multithreading. However, many programs are still processed sequentially, and they do not make full use of their parallelism. To solve this problem, it is quite promising to automatically parallelize the binary code of the program by using binary translation techniques. Based on this background, we have proposed a system that automatically optimizes and parallelizes a binary code using LLVM. In this paper, we design the IRlevel parallelization directives for the LLVM infrastructure and implement them in LLVM. This allows us to independently develop the compilation pass of code analysis and the pass of the code generation for parallelization. The separation of code analysis and code generation can realize the ease of the reuse of them. Evaluation results show that our LLVM compiler pass can generate parallelized IR code from sequential IR code with IRlevel parallelization directives. The parallelized IR code achieved speedup as highly as the parallelized source code using OpenMP.
Year
DOI
Venue
2019
10.1109/SNPD.2019.8935667
2019 20th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)
Keywords
Field
DocType
LLVM,loop parallelization,IR code,parallelization directives
Static program analysis,Multithreading,Computer science,Source code,Parallel computing,Binary code,Code generation,Compiler,Binary translation,Speedup
Conference
ISBN
Citations 
PageRank 
978-1-7281-1652-5
0
0.34
References 
Authors
3
5
Name
Order
Citations
PageRank
Kengo Jingu100.68
Kohta Shigenobu201.01
Kanemitsu Ootsu34423.90
Takeshi Ohkawa42116.24
Takashi Yokota54121.70