ACM Home Page
Please provide us with feedback. Feedback
A novel framework of register allocation for software pipelining
Full text PdfPdf (1.30 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Charleston, South Carolina, United States
Pages: 29 - 42  
Year of Publication: 1993
ISBN:0-89791-560-7
Authors
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 43,   Citation Count: 27
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/158511.158519
What is a DOI?

ABSTRACT

Although software pipelining has been proposed as one of the most important loop scheduling methods, simultaneous scheduling and register allocation is less understood and remains an open problem [28]. The objective of this paper is to develop a unified algorithmic framework for concurrent scheduling and register allocation to support time-optimal software pipelining. A key intuition leading to this surprisingly simple formulation and its efficient solution is the association of maximum computation rate of a program graph with its critical cycles due to Reiter's pioneering work on Karp-Miller computation graphs [29]. In particular, our method generalizes the work by Callahan, Carr and Kennedy on scalar expansion[6], the work by Lam on modular variable expansion for software pipelined loops [20], and the work by Rau et al. on register allocation for modulo scheduled loops[28].


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
A. Aiken and A. Nicolau. A realistic resourceconstrained software pipelining algorithm. In Proceedings of the Third Workshop on Programming Languages and Compilers for Parallel Computing, Irvine, CA, August 1990.
5
6
7
 
8
G. J. Chaitin, M. Auslander, A. Chandra, J. Cocke, M. Hopkins, and P. Markstein. Register allocation via coloring. Computer Languages 6, pages 47-57, January 1981.
 
9
V. Chvatal. Linear Porgramming. W.H. Freeman and Company., 1983.
 
10
E. Duesterwald, R. Gupta, and M.L. Sofia. Register pipelining: An integrated approacn to register allocation for scalar and subscripted variables. Technical report, Department of Computer Science, University of Pittsburgh, 1991.
 
11
K. Ebcioglu and T. Nakatani. A new compilation technique for parallelization loops with unpredictable branches on a VLIW architecture. Technical report, IBM, 1990.
12
13
 
14
Christine Eisenbeis, William Jalby, Daniel Windheiser, and Francois Bodin. A strategy for array management in local memory. In Third Workshop on Programming Languages and Compilers }or Parallel Computing. University of California, Irvine, 1990. To be published by Pitman/MIT Press.
15
 
16
L. Hendren, G.R. Gao, E. Altman, and C. Mukerjl. A register allocation framework based on hierarchical cyclic interval graphs. Lecture Notes in Computer Science 641, pages 176-191, October 1992.
17
 
18
 
19
L. G. Khachian. A polynomial algorithm in linear programming. Soviet Math. Doklady, 20:191-194, 1979.
20
 
21
Eugene L. Lawler. Combinatorial Optimization: Net. works and Matroids. Saunders College Publishing, Ft Worth, TX, 1976.
 
22
 
23
 
24
Q. Ning and G.R. Gao. A novel framework of register allocation for software pipelining. Technical Report ACAPS Technique Memo 42, School of Computer Science, McGill University, Montreal, Quebec, Canada, 1992.
 
25
Qi Ning. Optimal Register Allocation to Support Time- Optimal Scheduling }or Loops. PhD thesis, in preparation, School of Computer Science, McGill University, 1992.
 
26
C. V. Ramamoorthy and G. S. Ho. Performance evaluation of asynchronous concurrent systems using Petri Nets. IEEE Transactions on Computers, pages 440- 448, September 1980.
27
28
29
 
30
31
 
32

CITED BY  27