Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/93542.93551acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free access

Register allocation across procedure and module boundaries

Published: 01 June 1990 Publication History

Abstract

This paper describes a method for compiling programs using interprocedural register allocation. A strategy for handling programs built from multiple modules is presented, as well as algorithms for global variable promotion and register spill code motion. These algorithms attempt to address some of the shortcomings of previous interprocedural register allocation strategies. Results are given for an implementation on a single register file RISC-based architecture.

References

[1]
G.J. Chaitin, 'Register Allocation and Spilling via Graph Coloring", Proceedings of the SIG- PLAN '82 Symposium On Compiler Construction, SIGPLAN Notices, Vol. 17, No. 6, June 1982, pages 98-105.
[2]
Fred Chow and John Hennessy, "Register Allocation by Priority-based Coloring", Proceedings of the ACM SIGPLAN Symposium on Compiler Construction, SIGPLAN Notices, Vol. 19, No. 6, June 1984, pages 222-232.
[3]
Fred C. Chow, "Minimizing Register Usage Penalty at Procedure Calls", Proceedings of the SiGPLAN '88 Conference on Programming Language Design and Implementation, July 1988, pages 85-94.
[4]
Keith D. Cooper, Ken Kennedy, and Lincla Torczon, "The Impact of Interprocedural Analysis and Optimization in the R Progamming Environment",ACM Transactions on Programming Languages and Systems, October 1986, pages 491-523.
[5]
Deborah S. Coutant, Carol L. Hammond, and Jon W. Kelley, "Compilers for the New Generation of Hewlett-Packard Computers", Hewlett- Packard Journal, Vol. 37, no. 1, August 1986, pages 4-18.
[6]
Susan L. Graham, Peter B. Kessler, and Marshall K. McKusick. "gprof: a call graph execution profiler", Proceedings of the SIG- PLAN'82 Symposium on Compiler Constluction, June 1982, pages 120-126
[7]
Ruby B. Lee, '?recision Architecture", Computer;, January 1989, pages 78-91.
[8]
M. Mahon, et al, Hewlett-Packard Precision Architecture: The Processor", Hewlett-Packard Journal, Vol. 37, no. 8, August 1986, pages 4-21.
[9]
Hans Mulder, "Data Buffering: Run-Time Versus Compile Time Support", Proceedings of the 3rd International Conference on Architectural Support for Programming Languages attd Operating Systems, April 1989, pages 144-151.
[10]
P.A. Steenkiste, LISP on a Reduced Instluction Set Processot: Characterization and Optimization, PhD Thesis, Stanford University Computer Systems Laboratory, March 1987, Chapter 5.
[11]
David W. Wall, "Global Register Allocation At Link Time", Proceedings of the SIGPLAN '86 Symposium On Compiler Construction, SIG- PLAN Notices, Vol. 21, No. 7, July 1986, pages 264-275.
[12]
David W. Wall, register Windows vs. Register Allocation", Proceedings of the SIGPLAN '88 Conference On Progtmnming Language Design and Implementation, SIGPLAN Notices, Vol. 23, No. 7, July 1988, pages 67-78.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '90: Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
June 1990
351 pages
ISBN:0897913647
DOI:10.1145/93542
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: 01 June 1990

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

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

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)80
  • Downloads (Last 6 weeks)6
Reflects downloads up to 21 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)RegGuardComputers and Security10.1016/j.cose.2023.103213129:COnline publication date: 1-Jun-2023
  • (2010)Register AllocationThe Compiler Design Handbook10.1201/9781420040579.ch13Online publication date: 7-Mar-2010
  • (2010)Detecting bugs in register allocationACM Transactions on Programming Languages and Systems10.1145/1734206.173421232:4(1-36)Online publication date: 22-Apr-2010
  • (2008)Interprocedural Speculative Optimization of Memory Accesses to Global VariablesProceedings of the 14th international Euro-Par conference on Parallel Processing10.1007/978-3-540-85451-7_38(350-359)Online publication date: 26-Aug-2008
  • (2006)A framework for unrestricted whole-program optimizationProceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1133981.1133989(61-71)Online publication date: 11-Jun-2006
  • (2006)A framework for unrestricted whole-program optimizationACM SIGPLAN Notices10.1145/1133255.113398941:6(61-71)Online publication date: 11-Jun-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
  • (2004)Binary translation to improve energy efficiency through post-pass register re-allocationProceedings of the 4th ACM international conference on Embedded software10.1145/1017753.1017769(74-85)Online publication date: 27-Sep-2004
  • (2002)Global Variable Promotion: Using Registers to Reduce Cache Power DissipationCompiler Construction10.1007/3-540-45937-5_18(247-261)Online publication date: 28-Mar-2002
  • (1999)Link-time Optimization of Multi-Language ProgramsThe Logic Programming Paradigm10.1007/978-3-642-60085-2_5(109-126)Online publication date: 1999
  • 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