Front Page

The Liberty Research Group

Global Array Reference Allocation [abstract] (ACM DL, PDF, PostScript)
Guido Araujo, Guilherme Ottoni, and Marcelo Cintra
ACM Transactions on Design Automation of Electronic Systems (TODAES), Volume 7, Number 2, April 2002.

Embedded systems executing specialized programs have been increasingly responsible for a large share of the computer systems manufactured every year. This trend has increased the demand for processors that can guarantee high-performance under stringent cost, power and code size constraints. Indirect addressing is by far the most used addressing mode in programs running on these systems, since it enables the design of small and faster instructions. This paper proposes a solution to the problem of allocating registers to array references using auto-increment addressing modes. It extends previous work in the area, by enabling efficient allocation in the presence of control-flow statements. The solution is based on an algorithm that merges address registers live ranges pairwise. An optimizing DSP compiler, from Mindspeed Technologies Inc. is used to validate this idea. Experimental results reveal a substantial improvement in code performance, when comparing to a combination of local auto-increment detection and priority-based register coloring.