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 :
بازگشت