ACM Home Page
Please provide us with feedback. Feedback
Tetris: a new register pressure control technique for VLIW processors
Full text PdfPdf (323 KB)
Source
Language, Compiler and Tool Support for Embedded Systems archive
Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems table of contents
San Diego, California, USA
SESSION: Register and memory management table of contents
Pages: 113 - 122  
Year of Publication: 2007
ISBN:978-1-59593-632-5
Also published in ...
Authors
Weifeng Xu  UMass Amherst, Amherst, MA
Russell Tessier  UMass Amherst, Amherst, MA
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGARCH: ACM Special Interest Group on Computer Architecture
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGDA: ACM Special Interest Group on Design Automation
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 44,   Citation Count: 0
Additional Information:

abstract   references   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/1254766.1254783
What is a DOI?

ABSTRACT

The run-time performance of VLIW (very long instruction word) microprocessors depends heavily on the effectiveness of its associated optimizing compiler. Typical VLIW compiler phases include instruction scheduling, which maximizes instruction level parallelism (ILP), and register allocation, which minimizes data spills to external memory. If ILP is maximized without considering register constraints, high register pressure may result, leading to increased spill code and reduced run-time performance. In this paper, a new register pressure reduction technique for embedded VLIW processors is presented to control register pressure prior to instruction scheduling and register allocation. By modifying the relative ordering of operations, this technique restructures code to better reduce spills. Our technique has been implemented in Trimaran, an academic VLIW compiler, and evaluated using a series of VLIW benchmarks. Experimental results show that, on average, our algorithm reduces dynamic spills and improves overall cycle counts by 6% for a VLIW architecture with 8 functional units and 32 registers versus previous spill code reduction techniques.


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
L. N. Chakrapani, J. Gyllenhaal, W. W. Hwu, S. A. Mahlke, K. V. Palem, and R. M. Rabbah. Trimaran, An Infrastructure for Research in Instruction Level Parallelism. In International Workshop on Languages and Compilers for High Performance Computing, pages 32--41, Sept. 2004.
 
7
 
8
R. P. Dilworth. A Decomposition Theorem for Partially Ordered Sets. Annals of Mathematics, 51(1):161--166, Jan. 1950.
 
9
Freescale Semiconductor, Inc. MSC8101 Reference Manual, 2005.
 
10
S.M. Freudenberger and J. C. Ruttenberg. Phase Ordering of Register Allocation and Instruction Scheduling. In International Workshop on Code Generation, pages 146--172, May 1991.
11
 
12
 
13
 
14
15
16
 
17
Texas Instruments, Inc. TMS320C6000 CPU and Instruction Set Reference Guide, 2000.
 
18
 
19
 
20
Transmeta, Inc. Transmeta Efficeon TM8820 Processor, 2005.

Collaborative Colleagues:
Weifeng Xu: colleagues
Russell Tessier: colleagues