ACM Home Page
Please provide us with feedback. Feedback
Bitwidth aware global register allocation
Full text PdfPdf (303 KB)
Source ACM SIGPLAN Notices archive
Volume 38 ,  Issue 1  (January 2003) table of contents
Pages: 85 - 96  
Year of Publication: 2003
ISSN:0362-1340
Also published in ...
Authors
Sriraman Tallam  The University of Arizona, Tucson, AZ
Rajiv Gupta  The University of Arizona, Tucson, AZ
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 43,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/640128.604139
What is a DOI?

ABSTRACT

Multimedia and network processing applications make extensive use of subword data. Since registers are capable of holding a full data word, when a subword variable is assigned a register, only part of the register is used. New embedded processors have started supporting instruction sets that allow direct referencing of bit sections within registers and therefore multiple subword variables can be made to simultaneously reside in the same register without hindering accesses to these variables. However, a new register allocation algorithm is needed that is aware of the bitwidths of program variables and is capable of packing multiple subword variables into a single register. This paper presents one such algorithm.The algorithm we propose has two key steps. First, a combination of forward and backward data flow analyses are developed to determine the bitwidths of program variables throughout the program. This analysis is required because the declared bitwidths of variables are often larger than their true bitwidths and moreover the minimal bitwidths of a program variable can vary from one program point to another. Second, a novel interference graph representation is designed to enable support for a fast and highly accurate algorithm for packing of subword variables into a single register. Packing is carried out by a node coalescing phase that precedes the conventional graph coloring phase of register allocation. In contrast to traditional node coalescing, packing coalesces a set of interfering nodes. Our experiments show that our bitwidth aware register allocation algorithm reduces the register requirements by 10\% to 50% over a traditional register allocation algorithm that assigns separate registers to simultaneously live subword variables.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
3
4
 
5
 
6
J. Fridman, "Data Alignment for Sub-Word Parallelism in DSP," IEEE Workshop on Signal Processing Systems (SiPS), pages 251--260, 1999.
 
7
8
 
9
10
11
 
12
13
 
14
 
15
X. Nie, L. Gazsi, F. Engel, and G. Fettweis, "A New Network Processor Architecture for High Speed Communications," IEEE Workshop on Signal Processing Systems (SiPS), pages 548--557, 1999.
 
16
17
18
 
19
T. Wolf and M. Franklin, "Commbench - a telecommunications benchmark for network processors," IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), April 2000.
 
20


Collaborative Colleagues:
Sriraman Tallam: colleagues
Rajiv Gupta: colleagues