ACM Home Page
Please provide us with feedback. Feedback
Efficient register allocation via coloring using clique separators
Full text PdfPdf (1.15 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 16 ,  Issue 3  (May 1994) table of contents
Pages: 370 - 386  
Year of Publication: 1994
ISSN:0164-0925
Authors
Rajiv Gupta  Univ. of Pittsburgh, Pittsburgh, PA
Mary Lou Soffa  Univ. of Pittsburgh, Pittsburgh, PA
Denise Ombres  Univ. of Pittsburgh, Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 46,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   review   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/177492.177499
What is a DOI?

ABSTRACT

Although graph coloring is widely recognized as an effective technique for register allocation, memory demands can become quite high for large interference graphs that are needed in coloring. In this paper we present an algorithm that uses the notion of clique separators to improve the space overhead of coloring. The algorithm, based on a result by R. Tarjan regarding the colorability of graphs, partitions program code into code segments using clique separators. The interference graphs for the code partitions are constructed one at a time and colored independently. The colorings for the partitions are combined to obtain a register allocation for the entire program. This approach can be used to perform register allocation in a space-efficient manner. For straight-line code (e.g., local register allocation), an optimal allocation can be obtained from optimal allocations for individual code partitions. Experimental results are presented demonstrating memory demand reductions for interference graphs when allocating registers using clique separators.


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
~CHAITIN, G. J., AUSLANDER, M. A., CHANDRA, A. K., COCKE, J., HOPKINS, M. E., AND MARKSTEIN, ~P.W. 1981. Register allocation via coloring. Comput. Lang 6, 1, 47-57.
 
3
4
5
 
6
~DONGARRA, J. J. AND JINDS, n.R. 1979. Unrolhng loops in Fortran. Soflw. Pract. Exper. 9, 3 ~(Mar.), 219-226.
 
7
~FISHER, J.A. 1981. Trace scheduling: A technique for global mlcrocode compaction. IEEE ~Trans. Comput. C-30, 7 (July), 478-490.
 
8
 
9
~GAVRIL, F. 1977. AJgorlthms on chque separable graphs. Dtscrete Math. 19, 159-165.
 
10
~GOLUMBlC, M.C. 1980. Algorzthmtc Graph Theory and Perfect Graphs. Academic Press, New ~York.
11
12
13
 
14
~TaRJAN, R.E. 1985. Decomposition by clique separators. Discrete Math. 55, 2, 221-231



REVIEW

"Steven Stanley Muchnick : Reviewer"

The authors describe a method of register allocation for use in optimizing compilers that modifies the now frequently used graph-coloring approaches by increasing the number of graphs that need to be colored but decreasing their size, often si  more...

Collaborative Colleagues:
Rajiv Gupta: colleagues
Mary Lou Soffa: colleagues
Denise Ombres: colleagues