DocumentCode
2705302
Title
A register allocation algorithm
Author
Subha, S.
Author_Institution
Sch. of Inf. Technol. & Eng., Vellore Inst. of Technol., Vellore, India
fYear
2010
fDate
20-22 May 2010
Firstpage
1
Lastpage
3
Abstract
This paper proposes a global register allocation algorithm that makes decisions on register allocation based on the cost of spilling variables in linear scan allocation. The algorithm assumes registers are initially allocated based on linear scan algorithm. When there is a need to spill variables, either the allocated or the new variable is spilled based on the cost incurred in allocation. The cost is calculated as a function of number of definitions and uses of a variable for the rest of its live range. The variable with minimum number of uses that gives optimal cost is replaced. A mathematical model for determining the cost is proposed which decides register allocation. Given the live ranges of the variables the time complexity of the algorithm is derived. Simulations on an arbitrary program showed an improvement when compared to linear scan algorithm.
Keywords
decision making; optimising compilers; programming languages; linear scan allocation; mathematical model; optimal cost; register allocation algorithm; spilling variables; Complexity theory; Computer languages; Information technology; Inspection; Mathematical model; Registers; Resource management; linear scan; live range determination;
fLanguage
English
Publisher
ieee
Conference_Titel
Electro/Information Technology (EIT), 2010 IEEE International Conference on
Conference_Location
Normal, IL
ISSN
2154-0357
Print_ISBN
978-1-4244-6873-7
Type
conf
DOI
10.1109/EIT.2010.5612127
Filename
5612127
Link To Document