| Coloring register pairs |
| Full text |
Pdf
(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
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 12, Downloads (12 Months): 77, Citation Count: 9
|
|
|
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
|
D. Bernstein , M. Golumbic , y. Mansour , R. Pinter , D. Goldin , H. Krawczyk , I. Nahshon, Spill code minimization techniques for optimizing compliers, ACM SIGPLAN Notices, v.24 n.7, p.258-263, July 1989
|
 |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hiroshige Hayashizaki , Yutaka Sugawara , Mary Inaba , Kei Hiraki, MCAMP: communication optimization on massively parallel machines with hierarchical scratch-pad memory, Proceedings of the 17th international conference on Parallel architectures and compilation techniques, October 25-29, 2008, Toronto, Ontario, Canada
|
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...
|