A Detailed Analysis of the LLVM's Register Allocators
Tiago Cariolano de Souza Xavier, George Souza Oliveira, Ewerton Daniel de Lima, Anderson Faustino da Silva · 2012
The goal of a register allocation is to allocate a unbounded number of program values to a finite number of machine registers, which is an issue that impacts in the performance of the generated code. Thus, a good register allocator has to minimize the amount of program values that should be represented in memory. This paper presents a detaild analysis of the four register allocators provides by LLVM framework. The results demonstrated that the greedy register allocator has better performance than basic, fast, and pbqp register allocators.