DocumentCode
661238
Title
A Detailed Analysis of the LLVM´s Register Allocators
Author
De Souza Xavier, Tiago Cariolano ; Souza Oliveira, George ; De Lima, Ewerton Daniel ; Faustino da Silva, Anderson
Author_Institution
State Univ. of Maringa, Maringa, Brazil
fYear
2012
fDate
12-16 Nov. 2012
Firstpage
190
Lastpage
198
Abstract
The goal of a register allocation is to allocate a unbounded amount of program values to a finite amount of machine registers, which is an issue that impacts the performance of the final code. Thus, a good register allocator has the goal of minimizing the amount of program values that should be represented in memory. This paper presents a detailed analysis of the register allocators provides by LLVM framework, namely: fast, basic, greedy, and PBQP. The analysis was conducted to evaluate runtime, compile time and the amount of spills. Furthermore, hardware performance counters were analyzed in order to describe in more detail the behavior of the register allocators. The results demonstrated that greedy register allocator it the best one for minimizing the runtime and the amount of spills, otherwise the basic and fast are the best choice for compile time.
Keywords
greedy algorithms; minimisation; optimising compilers; LLVM; amount of spills evaluation; compile time evaluation; greedy register allocator; hardware performance counter; machine register allocation; program value allocation; program value minimization; runtime evaluation; runtime minimization; Benchmark testing; Context; Image color analysis; Interference; Registers; Resource management; Runtime; LLVM; Performance; Register Allocator;
fLanguage
English
Publisher
ieee
Conference_Titel
Chilean Computer Science Society (SCCC), 2012 31st International Conference of the
Conference_Location
Valparaiso
ISSN
1522-4902
Print_ISBN
978-1-4799-2937-5
Type
conf
DOI
10.1109/SCCC.2012.29
Filename
6694089
Link To Document