skip to main content
10.1145/513829.513854acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

Register allocation for irregular architectures

Published:19 June 2002Publication History

ABSTRACT

For irregular architectures global register allocation is still a challenging problem that has not been successfully solved so far. The graph-coloring analogy of traditional approaches does not match the needs of register allocation for such architectures which feature non-orthogonal instruction sets and small register files. This work proposes a fundamentally new approach to global register allocation for irregular architectures. Our approach formulates global allocation as a partitioned boolean quadratic optimization problem (PBQP) that allows generic modeling of processors peculiarities. Because PBQP is NP-complete we present a heuristic that exhibits a nearly linear run-time complexity.We integrated our register allocator with the Infineon Carmel C Compiler which is based on the Open Compiler Environment from Atair Software. A DSP benchmark suite was used to compare the performance of our register allocator with a graph-coloring approach and with an optimal allocation. The experiments show that our new approach performs better than a traditional graph coloring approach for irregular architectures.

References

  1. Andrew Appel and Lal George. Optimal spilling for CISC machines with few registers. ACM SIGPLAN Notices 36(5): 243--253, May 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. Briggs, K. D. Cooper, and L. Torczon. Improvements to graph coloring register allocation. ACM Transactions on Programming Languages and Systems (TOPLAS), 16(3): 428--455, May 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. J. Chaitin. Register allocation and spilling via graph coloring. ACM SIGPLAN Notices 17(6): 98--105, June 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Briggs K. D. Cooper and L. Torczon. Coloring register pairs. ACM Letters on Programming Languages and Systems, (TOPLAS), 1(1): 3--13, March 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. G. Finke, R. E. Burkard, and F. Rendl. Quadratic assignment problems. Annals of Discrete Mathematics 31: 61--82, 1987.Google ScholarGoogle Scholar
  6. Lal George and Andrew W. Appel. Iterated register coalescing. ACM Transactions on Programming Languages and Systems 18(3): 300--324, May 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. David W. Goodwin and Kent D. Wilken. Optimal and near-optimal global register allocation using 0-1 integer programming. Software & Practice and Experience 26(8): 929--965, August 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. Kong and K. D. Wilken. Precise register allocation for irregular register architectures. In Proceedings of the 31st Annual ACM/IEEE International Symposium on Microarchitecture (MICRO-98), pages 297--307, Los Alamitos, November 30--December 2 1998. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. R. Nickerson. Graph coloring register allocation for processors with multi-register operannds. ACM SIGPLAN 1990 Conf. on Compiler Construction, SIGPLAN Notices 25(6): 40--52, June 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Homepage of Atair Software GmbH. www.atair.co.at/oce.Google ScholarGoogle Scholar
  11. Homepage of Infineon. www.infineon.com/dsp.Google ScholarGoogle Scholar
  12. Jinpyo Park and Soo-Mook Moon. Optimistic register coalescing. In Proceedings of the 1998 International Conference on Parallel Architectures and Compilation Techniques (PACT '98), pages 196--204, Paris, France, October 12--18, 1998. IEEE Computer Society Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Michael D. Smith and Glenn Holloway. Graph-coloring register allocation for irregular architectures. Technical report, Harvard University, 2000.Google ScholarGoogle Scholar
  14. Wayne L. Winston. Introduction to Mathematical Programming International Thomson Publishing, 1995.Google ScholarGoogle Scholar

Index Terms

  1. Register allocation for irregular architectures

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      LCTES/SCOPES '02: Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
      June 2002
      244 pages
      ISBN:1581135270
      DOI:10.1145/513829

      Copyright © 2002 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 19 June 2002

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      LCTES/SCOPES '02 Paper Acceptance Rate25of73submissions,34%Overall Acceptance Rate116of438submissions,26%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader