Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Register Allocation in Optimizing Compilers
Leverett B., University Microfilms Int’l. (UMI), Ann Arbor, MI, 1983. Type: Book (9789780835715300)
Date Reviewed: Feb 1 1985

Anyone concerned with code generation wil want to take a look at this book. While the methodology is presented in the context of the Production Quality Compiler-Compiler (PQCC) project at Carnegie-Mellon, the ideas are independent of that project. The reader will have a problem sorting out the general principles from the unnecessarily complex and PQCC-specific discourse. But the effort will be worthwhile for those keenly interested in this area, as Leverett discusses a wealth of topics.

The approach to register allocation taken here is similar to that of the Bliss-11 [1] and PL.8 [2,3] compilers; that is, initial code is generated assuming an infinite number of registers. Later, these virtual registers are mapped to real registers and storage locations. Both Leverett and the PL.8 project use Yershov’s ideas [4, 5] of coloring an interference graph to obtain the assignment of virtual to real registers. Leveratt gives a good theoretical discussion of the problem.

The PQCC system operates in three phases, like the Bliss-11 compiler: preliminary code selection, virtual to real register assignment, and actual code generation. This addresses the “fundamental phase ordering problem involving register alocation and code selection, in that either can produce more nearly optimal results if the other has already run.”

This book is a repackaging of the author’s 1981 CMU PhD thesis. The thesis is reprinted without any recognizable changes other than that the original footnotes have become endnotes. These are awkward to find when reading and not worth the effort; I hope UMI Research Press will use footnotes in the future. An Appendix brings the thesis six months further up to date. Even though the author points out that the Appendix was written as a separate paper, I would have preferred to see its contents edited into the main body of the book.

Reviewer:  K. J. Ottenstein Review #: CR108606
1) Wulf, W.; Johnson, R.K.; Weinstock, C.B. et alThe design of an optimizing comipler, Elsevier-North Holland, New York, 1975.
2) Chaitin, G.J.; Auslander, M.A.; et al. Register allocation via coloring, Computer Languages 6, (1981), 47-57.
3) Caitin, G.J. Register allocation and spilling via graph coloring, SIGPLAN Not. 17, 6 (June 1982), 98-101.
4) Y:OLERSHOV, A.P. (Ed.) The ALHA automatic programming system, Academic Press, New York, 1971.
5) Yershov, A.P. ALPHA--an automatic programming system of high efficiency, J. ACM, 13 (1966), 17-24.
Bookmark and Share
 
Code Generation (D.3.4 ... )
 
 
Optimization (D.3.4 ... )
 
 
Pqcc (D.3.4 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Code Generation": Date
Attributed linear intermediate representations for retargetable code generators
Ganapathi M., Fischer C. Software--Practice & Experience 14(4): 347-364, 1984. Type: Article
Mar 1 1985
Code generation and optimization
Graham S., Cambridge University Press, New York, NY, 1984. Type: Book (9780521268431)
Jul 1 1985
A high level intermediate code
Branquart P., Cambridge University Press, New York, NY, 1984. Type: Book (9780521268431)
Jun 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy