DocumentCode :
3305514
Title :
Techniques for Region-Based Register Allocation
Author :
Baev, Ivan D.
Author_Institution :
Java, Compilers & Tools Lab., Hewlett-Packard Co., Cupertino, CA
fYear :
2009
fDate :
22-25 March 2009
Firstpage :
147
Lastpage :
156
Abstract :
Register allocation is an important component of every compiler and numerous studies have investigated ways to improve allocation quality or reduce allocation time. However, techniques proposed to reduce register allocation time tend to have a detrimental impact on application run-time. In this paper we propose three enhancements to region-based register allocation that not only provide scalable allocation times across multiple applications, but also improve application run-time. We have developed a register pressure based model to determine when using multiple regions is profitable, proposed the use of different regions for each register class, and designed a new region formation algorithm. Our implementation in HP-UX C/C++/Fortran production compilers led to 29% allocation time and 1.4% run-time improvements over a global allocator on the SPEC2006FP suite of benchmarks.
Keywords :
optimising compilers; HP- global allocator; HP-UX C-C++-Fortran production compilers; SPEC2006FP; allocation quality improvement; region-based register allocation; Algorithm design and analysis; Engines; Ground penetrating radar; Java; Laboratories; Optimizing compilers; Processor scheduling; Production; Registers; Runtime; region-based compilation; register allocation;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Code Generation and Optimization, 2009. CGO 2009. International Symposium on
Conference_Location :
Seattle, WA
Print_ISBN :
978-0-7695-3576-0
Type :
conf
DOI :
10.1109/CGO.2009.31
Filename :
4907659
Link To Document :
بازگشت