Title
Inter-procedural stacked register allocation for itanium® like architecture
Abstract
A hardware managed register stack, Register Stack Engine (RSE), is implemented in Itanium® architecture to provide a unified and flexible register structure to software. The compiler allocates each procedure a register stack frame with its size explicitly specified using an alloc instruction. When the total number of registers used by the procedures on the call stack exceeds the number of physical registers, RSE performs automatically register overflows and fills to ensure that the current procedure has its requested registers available. The virtual register stack frames and RSE alleviate the need of explicit spills by the compiler, but our experimental results indicate that a trade-off exists between using stacked registers and explicit spills under high register pressure due to the uneven cost between them. In this work, we introduce the stacked register quota assignment problem based on the observation that reducing stacked register usage in some procedures could reduce the total memory access time of spilling registers, which includes the time caused by the loads/stores due to explicit register spills and RSE overflows/fills. We propose a new inter-procedural algorithm to solve the problem by allocating stacked registers across procedures based on a quantitative cost model. The results show that our approach can improve performance significantly for the programs with high RSE overflow cost, e.g. perlbmk and crafty, improved by 14% and 3.7%, respectively.
Year
DOI
Venue
2003
10.1145/782814.782844
I4CS
Keywords
Field
DocType
register allocation,requested register,register quota assignment problem,spilling register,virtual register,explicit register spill,physical register,explicit spill,register usage,high register pressure,flexible register structure,hotspot,assignment problem
Status register,Register allocation,Memory data register,Computer science,Parallel computing,Stack register,Control register,Real-time computing,Register renaming,Memory address register,Processor register
Conference
ISBN
Citations 
PageRank 
1-58113-733-8
2
0.39
References 
Authors
9
6
Name
Order
Citations
PageRank
Liu Yang120.39
Sun Chan21418.80
Guang R. Gao32661265.87
Roy Ju412813.58
Guei-Yuan Lueh540137.41
Zhao-Qing Zhang6617.44