ACM Home Page
Please provide us with feedback. Feedback
The priority-based coloring approach to register allocation
Full text PdfPdf (2.97 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 12 ,  Issue 4  (October 1990) table of contents
Pages: 501 - 536  
Year of Publication: 1990
ISSN:0164-0925
Authors
Fred C. Chow  MIPS Computer Systems, Inc., Sunnyvale, CA
John L. Hennessy  Stanford Univ., Stanford, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 30,   Downloads (12 Months): 134,   Citation Count: 73
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/88616.88621
What is a DOI?

ABSTRACT

Global register allocation plays a major role in determining the efficacy of an optimizing compiler. Graph coloring has been used as the central paradigm for register allocation in modern compilers. A straightforward coloring approach can suffer from several shortcomings. These shortcomings are addressed in this paper by coloring the graph using a priority ordering. A natural method for dealing with the spilling emerges from this approach. The detailed algorithms for a priority-based coloring approach are presented and are contrasted with the basic graph-coloring algorithm. Various extensions to the basic algorithms are also presented. Measurements of large programs are used to determine the effectiveness of the algorithm and its extensions, as well as the causes of an imperfect allocation. Running time of the allocator and the impact of heuristics aimed at reducing that time are also measured.


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
CHAITIN, G. J., AUSLANDER, M. A., CHANDRA, A. K., COCKE, J., HOPKINS, M. E., AND MARKSTEIN, P. Register allocation via coloring. Comput. Lang. 6 (1981), 47-57.
 
4
5
6
 
7
CHOW, F., HIMELSTEIN, M., KILLIAN, E., AND WEBER, L. Engineering a RISC compiler system. In Proceedings of COMPCON (San Francisco, Mar. 4-6, 1986). IEEE, New York, 1986, pp. 132-137.
8
 
9
10
11
 
12
MIPS COMPUTER SYSTEMS, INC. MIPS Language Programmer's Guide. MIPS Computer Systems, Inc., Sunnyvale, Calif., 1986.
13
 
14
MOUSSOURIS, J., CRUDELE, L., FREITAS, D., HANSEN, C., HUDSON, E., PRZYBYLSK1, S., RIORDAN, T., AND ROWEN, C. A CMOS RISC processor with integrated system functions. In Proceedings of COMPCON (San Francisco, Mar. 4-6, 1986). IEEE, New York, 1986, pp. 126-137.

CITED BY  73


REVIEW

"Martti J. Tienari : Reviewer"

Modern compilers should make good use of the fastest memory resource available to them: the set of hardware registers provided by the target machine. This paper presents a priority-based coloring scheme as a solution to this allocation problem  more...

Collaborative Colleagues:
Fred C. Chow: colleagues
John L. Hennessy: colleagues