Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/178243.178420acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free access

Zero-cost range splitting

Published: 01 June 1994 Publication History

Abstract

This paper presents a new optimization technique that uses empty delay slots to improve code scheduling. We are able to split live ranges for free, by inserting spill code into empty delay slots. Splitting a live range can reduce interferences with other live ranges and can sometimes free registers. Live ranges no longer interfering with the split live range can sometimes make use of the extra register.
Our algorithm, as a final pass over the code, exploits empty delay slots that would remain unused if spill code was not inserted. This paper proposes a variety of optimizations that use the extra registers generated from live range splitting, including coalescing live ranges and improving code scheduling. We present an algorithm for improving code scheduling and present implementation results.

References

[1]
Preston Briggs, Keith D. Cooper, and Linda Torczon. Rematerialization. In Proceedings of the SIGPLAN '92 Conference on Programming Language Design and implementation, pages 311-321, June 1992.
[2]
Gregory J. Chaitin, Marc A. Auslander, Ashok K. Chandra, John Cocke, Martin E. Hopkins, and Peter W. Markstein. Register allocation via coloring. Computer Languages, pages 47-57, 1981.
[3]
David Callahan, Steve Carr, and Ken Kennedy. Improving register allocation for subscripted variables. In Proceedings of the SIGPLAN '90 Conference on Programming Language Design and Implementation, pages 53-64, June 1990.
[4]
Fred C. Chow and John L. Hennessy. The priority-based coloring approach to register allocation. A CM Transactions on Programming Languages and Systems, 12(4):501- 536, October 1990.
[5]
Gregory J. Chaitin. Register allocation and spilling via graph coloring. In Proceedings of the $IGPLAN '82 Symposium on Compiler Construction, pages 98-105, June 1982.
[6]
Fred C. Chow. Minimizing register usage penalty at procedure calls. In Proceedings of the $IGPLAN '88 Conference on Programming Language Design and Implemen~ tation~ pages 85-94, June 1988.
[7]
Christopher W. Fraser and David R. Hanson. A retargetable compiler for ANSI C. $IGPLAN Notices, 26(10), October 1991.
[8]
James R. Goodman and Wei-Chung Hsu. Code scheduling and register aIlocation in large basic blocks. In International Conference on Supercomputing, pages 442-452, July 1988.
[9]
John L. Hennessy and Thomas R. Gross. Code generation and reorganization in the presence of pipeline constraints. In Proceedings of the 9th Annual Symposium on Principles of Programming Languages, pages 120-127, 1982.
[10]
John L. Hennessy and David A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 1990.
[11]
Priyadarshan KoIte and Mary Jean Hartold. Load/store range analysis for global register allocation. In Proceedings of the $IGPLAN '93 Conference on Programming Language Design and Implementation, pages 268-277, 1993.
[12]
James R. Larus and Paul N. Hilfinger. Register allocation in the SPUR lisp compiler. In Proceedings of the $IGPLAN '86 Symposium on Compiler Construction, pages 255- 263, 1986.
[13]
Shlomit S. Pinter. Register allocation with instruction scheduling: a new approach. In Proceedings of $iGPLAN '93 Conference on Programming Languages Design and implementation, pages 248-257, June 1993.
[14]
Krishna Palem and Barbara Simons. Scheduling time-critical instructions on RISC machines. In Proceedings of the 17th Annual Symposium on Principals of Programming Languages, pages 270-280, 1990.
[15]
Ravi Sethi. Complete register allocation problems. SIAM J. Comput, 4:226-248, 1975.
[16]
Vatsa Santhanam and Daryl Odnert. Register allocation across procedure and module boundaries. In Proceedings of SIGPLAN '90 Conference on Programming Language Design and Implementation, pages 28-39, June 1990.
[17]
David W. Wail. Global register allocation at link-time. In Proceedings of SIGPLAN '86 Symposium on Compiler Construction, pages 264-27'5, July 1986.

Cited By

View all
  • (2014)Register spilling via transformed interference equations for PAC DSP architectureConcurrency and Computation: Practice & Experience10.1002/cpe.305126:3(779-799)Online publication date: 10-Mar-2014
  • (2003)Spill code minimization by spill code motionOceans 2002 Conference and Exhibition. Conference Proceedings (Cat. No.02CH37362)10.1109/PACT.2003.1238009(125-134)Online publication date: 2003
  • (2002)Preference-directed graph coloringACM SIGPLAN Notices10.1145/543552.51253537:5(33-44)Online publication date: 17-May-2002
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '94: Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
August 1994
360 pages
ISBN:089791662X
DOI:10.1145/178243
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 1994

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI94
Sponsor:

Acceptance Rates

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

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)85
  • Downloads (Last 6 weeks)17
Reflects downloads up to 27 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Register spilling via transformed interference equations for PAC DSP architectureConcurrency and Computation: Practice & Experience10.1002/cpe.305126:3(779-799)Online publication date: 10-Mar-2014
  • (2003)Spill code minimization by spill code motionOceans 2002 Conference and Exhibition. Conference Proceedings (Cat. No.02CH37362)10.1109/PACT.2003.1238009(125-134)Online publication date: 2003
  • (2002)Preference-directed graph coloringACM SIGPLAN Notices10.1145/543552.51253537:5(33-44)Online publication date: 17-May-2002
  • (2002)Preference-directed graph coloringProceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementation10.1145/512529.512535(33-44)Online publication date: 17-Jun-2002
  • (2000)Fusion-based register allocationACM Transactions on Programming Languages and Systems10.1145/353926.35392922:3(431-470)Online publication date: 1-May-2000
  • (1999)Using node merging to enhance graph coloringACM SIGPLAN Notices10.1145/301631.30165734:5(150-154)Online publication date: 1-May-1999
  • (1999)Using node merging to enhance graph coloringProceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation10.1145/301618.301657(150-154)Online publication date: 1-May-1999
  • (1997)Look-ahead allocation in the presence of branchesProceedings of the 1997 ACM symposium on Applied computing10.1145/331697.332339(504-508)Online publication date: 1-Apr-1997
  • (1997)Call-cost directed register allocationACM SIGPLAN Notices10.1145/258916.25894232:5(296-307)Online publication date: 1-May-1997
  • (1997)Call-cost directed register allocationProceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation10.1145/258915.258942(296-307)Online publication date: 1-May-1997
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media