ACM Home Page
Please provide us with feedback. Feedback
Coloring register pairs
Full text PdfPdf (755 KB)
Source ACM Letters on Programming Languages and Systems (LOPLAS) archive
Volume 1 ,  Issue 1  (March 1992) table of contents
Pages: 3 - 13  
Year of Publication: 1992
ISSN:1057-4514
Authors
Preston Briggs  Rice Univ., Houston, TX
Keith D. Cooper  Rice Univ., Houston, TX
Linda Torczon  Rice Univ., Houston, TX
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 77,   Citation Count: 9
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/130616.130617
What is a DOI?

ABSTRACT

Many architectures require that a program use pairs of adjacent registers to hold double-precision floating-point values. Register allocators based on Chaitin's graph-coloring technique have trouble with programs that contain both single-register values and values that require adjacent pairs of registers. In particular, Chaitin's algorithm often produces excessive spilling on such programs. This results in underuse of the register set; the extra loads and stores inserted into the program for spilling also slow execution. An allocator based on an optimistic coloring scheme naturally avoids this problem. Such allocators delay the decision to spill a value until late in the allocation process. This eliminates the over-spilling provoked by adjacent register pairs in Chaitin's scheme. This paper discusses the representation of register pairs in a graph coloring allocator. It explains the problems that arise with Chaitin's allocator and shows how the optimistic allocator avoids them. It provides a rationale for determining how to add larger aggregates to the interference graph.


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
CHAITIN, G. J., AUSLANDER, M. A., CHANDRA, A. K., COCKE, J., HOPKINS, M. E., AND MARKSTEIN, P.W. Register allocation via coloring. Comput. Lang. 6, (Jan. 1981), 47-57.
5
6
7
 
8
FABRI, J. Automatic Storage Optimization. UMI Research Press, Ann Arbor, Mich., 1982.
 
9
GOLUMBIC, M.C. Algorithmic Graph Theory and Perfect Graphs. Academic Press, 1980.
 
10
HOPKINS, M.E. Compiling for the RT PC ROMP. In IBM RT Personal Computer Technology. IBM, 1986, 76-82.
 
11
INTEL CORPORATION. i860TM XP Microprocessor, 1991.
12
 
13
SETHI, R.Complete register allocation problems. SIAM J. Comput. 4, 3 (Sept. 1975), 226-248.

CITED BY  9


REVIEW

"Martin Joseph Jourdan : Reviewer"

Register allocation is one of the tasks of a compiler back end that is crucial for producing efficient code. One of the best-performing register allocation algorithms up to now was developed by Chaitin and colleagues and is based on graph colo  more...

Collaborative Colleagues:
Preston Briggs: colleagues
Keith D. Cooper: colleagues
Linda Torczon: colleagues