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 Yang | 1 | 2 | 0.39 |
Sun Chan | 2 | 141 | 8.80 |
Guang R. Gao | 3 | 2661 | 265.87 |
Roy Ju | 4 | 128 | 13.58 |
Guei-Yuan Lueh | 5 | 401 | 37.41 |
Zhao-Qing Zhang | 6 | 61 | 7.44 |