[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/73141.74842acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free access

Register allocation via clique separators

Published: 21 June 1989 Publication History

Abstract

Although graph coloring is widely recognized as an effective technique for global register allocation, the overhead can be quite high, not only in execution time but also in memory, as the size of the interference graph needed in coloring can become quite large. In this paper, we present an algorithm based upon a result by R. Tarjan regarding the colorability of graphs which are decomposable using clique separators, that improves on the overhead of coloring. The algorithm first partitions program code into code segments using the notion of clique separators. The interference graphs for the code partitions are next constructed one at a time and colored independently. The colorings for the partitions are combined to obtain a register allocation for the program code. The technique presented is both efficient in space and time because the graph for only a single code segment needs to be constructed and colored at any given point in time. The partitioning of a graph using clique separators increases the likelihood of obtaining a coloring without spilling and hence an efficient allocation of registers for the program. For straight line code an optimal allocation for the entire program code can be obtained from optimal allocations for individual code segments. In the presence of branches, optimal allocation along one execution path and a near optimal allocation along alternative paths can be potentially obtained. Since the algorithm is highly efficient, it eliminates the need for a local register allocation phase.

References

[1]
G.J. Chaitin, "Register Allocation and Spilling via Graph Coloring," Proceeding8 of the SIGPLAN'82 Symposium on Compiler Construction, SIGPLAN Notices, vol. 17, no. 6, pp. 98-105, June, 1982.
[2]
G.J. Chaitin, M.A. Auslander, A.K. Chandra, J. Cocke, M.E. Hopkins, and P.W. Markstein, "Register Allocation via Coloring," Computer Languages, vol. 6, no. 1, pp. 47-57, 1981.
[3]
C.H. Chi and H.G. Dietz, "Register Allocation for GaAs Computer Systems," 21st Annual Hawaii International Conference on System Sciences, vol. I, pp. 266-274, Jan., 1988.
[4]
F. Chow and J. Hennessy, "Register Allocation by Priority-based Coloring," Proceedings of the SIC- PLAN'84 Symposium on Compiler Construction, SIGPLAN Notices, vol. 19, no. 6, pp. 222-232, June, 1984.
[5]
R. Cytron and J. Ferrante, "What's In a Name? -or- The Value of Renaming for Parallelism Detection and Storage Allocation," Proc. international Conf. on Parallel Processing, pp. 19-27, August, 1987.
[6]
J.A. Fisher, "Trace Scheduling: A Technique for Global Microcode Compaction," IEEE Trans. on Computers, vol. 7, no. C-30, pp. 478-490, July, 1981.
[7]
M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP- Completeness, W.H. Freeman and Company, 1979.
[8]
J.R. Larus and P.N. Hilfinger, "Register Allocation in the SPUR Lisp Compiler," Proceedings of the SIGPLAN'86 Symposium on Compiler Construction, pp. 255-263, 1986.
[9]
R.E. Tarjan, "Decomposition by Clique Separators,'' Discrete Math., vol. 55, pp. 221-231, 1985.

Cited By

View all
  • (2010)Detecting bugs in register allocationACM Transactions on Programming Languages and Systems10.1145/1734206.173421232:4(1-36)Online publication date: 22-Apr-2010
  • (2009)Approximations for Aligned Coloring and Spillage Minimization in Interval and Chordal GraphsProceedings of the 12th International Workshop and 13th International Workshop on Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques10.1007/978-3-642-03685-9_3(29-41)Online publication date: 21-Aug-2009
  • (2006)Combining offline and online optimizationsProceedings of the 4th Asian conference on Programming Languages and Systems10.1007/11924661_19(307-322)Online publication date: 8-Nov-2006
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementation
June 1989
355 pages
ISBN:089791306X
DOI:10.1145/73141
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 24, Issue 7
    Proceedings of the SIGPLAN '89 symposium on Interpreters and interpretive techniques
    July 1989
    355 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/74818
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 June 1989

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI89
Sponsor:
PLDI89: Programming Language Design & Implementation
June 19 - 23, 1989
Oregon, Portland, USA

Acceptance Rates

Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)177
  • Downloads (Last 6 weeks)8
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2010)Detecting bugs in register allocationACM Transactions on Programming Languages and Systems10.1145/1734206.173421232:4(1-36)Online publication date: 22-Apr-2010
  • (2009)Approximations for Aligned Coloring and Spillage Minimization in Interval and Chordal GraphsProceedings of the 12th International Workshop and 13th International Workshop on Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques10.1007/978-3-642-03685-9_3(29-41)Online publication date: 21-Aug-2009
  • (2006)Combining offline and online optimizationsProceedings of the 4th Asian conference on Programming Languages and Systems10.1007/11924661_19(307-322)Online publication date: 8-Nov-2006
  • (2006)Catching and identifying bugs in register allocationProceedings of the 13th international conference on Static Analysis10.1007/11823230_19(281-300)Online publication date: 29-Aug-2006
  • (2005)Structured programs have small tree-width and good register allocationGraph-Theoretic Concepts in Computer Science10.1007/BFb0024507(318-332)Online publication date: 17-Jun-2005
  • (2004)Balancing register allocation across threads for a multithreaded network processorACM SIGPLAN Notices10.1145/996893.99687639:6(289-300)Online publication date: 9-Jun-2004
  • (2004)Balancing register allocation across threads for a multithreaded network processorProceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation10.1145/996841.996876(289-300)Online publication date: 9-Jun-2004
  • (2004)A fast, memory-efficient register allocation framework for embedded systemsACM Transactions on Programming Languages and Systems10.1145/1034774.103477626:6(938-974)Online publication date: 1-Nov-2004
  • (2002)A faster optimal register allocatorProceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture10.5555/774861.774888(245-256)Online publication date: 18-Nov-2002
  • (2002)A faster optimal register allocator35th Annual IEEE/ACM International Symposium on Microarchitecture, 2002. (MICRO-35). Proceedings.10.1109/MICRO.2002.1176254(245-256)Online publication date: 2002
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media