skip to main content
10.1145/1375527.1375574acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
research-article

Exploiting idle register classes for fast spill destination

Authors Info & Claims
Published:07 June 2008Publication History

ABSTRACT

On today's microprocessors, there often exist several different types of registers, e.g. general purpose registers and floating point registers. A given program may use one type of registers much more frequently than other types. This creates an opportunity to employ the infrequently used registers as spill destinations for the more frequently used register types. In this paper, we present a code optimization method named idle register exploitation (IRE) to exploit such opportunities. We developed a model, called the IRE model, or IREM, to determine the static performance gains of IRE versus spilling to the stack. On a microprocessor with fast data paths between different types of registers, we find that IRE method speeds up the execution of the SPECint benchmark suite from 1.7% to 10%. In contrast, on microprocessors with less efficient data transfer paths, the performance gain is limited. In some cases, performance may even suffer degradation. This result argues strongly for the adoption of fast data paths between different types of registers for the purpose of reducing register spills, which is important in view of the increased significance of memory bottlenecks on future microprocessors.

References

  1. G. J. Chaitin, Register allocation & spilling via graph coloring, Proceedings of the 1982 SIGPLAN symposium on Compiler construction, p.98--105, June 23--25, 1982, Boston, Massachusetts, United States Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. Bernstein , M. Golumbic , y. Mansour , R. Pinter , D. Goldin , H. Krawczyk , I. Nahshon, Spill code minimization techniques for optimizing compliers, Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, p.258--263, June 19--23, 1989, Portland, Oregon, United States Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Fred C. Chow , John L. Hennessy, The priority--based coloring approach to register allocation, ACM Transactions on Programming Languages and Systems (TOPLAS), v.12 n.4, p.501--536, Oct. 1990 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Briggs , K. D. Cooper , K. Kennedy , L. Torczon, Coloring heuristics for register allocation, Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, p.275--284, June 19--23, 1989, Portland, Oregon, United States Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Briggs, P. Register Allocation via Graph Coloring. PhD thesis, Rice University, Apr. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Preston Briggs , Keith D. Cooper , Linda Torczon, Improvements to graph coloring register allocation, ACM Transactions on Programming Languages and Systems (TOPLAS), v.16 n.3, p.428--455, May 1994 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Subramanya Sastry , Subbarao Palacharla , James E. Smith, Exploiting idle floating--point resources for integer execution, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.118--129, June 17--19, 1998, Montreal, Quebec, Canada Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Michael D. Smith, Norman Ramsey, and Glenn Holloway, A Generalized Algorithm for Graph Coloring Register Allocation, Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation , Washington, DC, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Goebel, Kurt J. (Mountain View, CA, US), Float register spill cache method, system, and computer program product , United States Patent 5901316, http://www.freepatentsonline.com/5901316.htmlGoogle ScholarGoogle Scholar
  10. Subbarao Palacharla , J. E. Smith, Decoupling integer execution in superscalar processors, Proceedings of the 28th annual international symposium on Microarchitecture, p.285--290, November 29--December 01, 1995, Ann Arbor, Michigan, United States. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. J. McLellan , D. A. Webb, The Alpha 21264 Microprocessor Architecture, Proceedings of the International Conference on Computer Design, p.90, October 05--05, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Intel Corp. IA--32 Intel® Architecture Software Developer's Manual,Volume 1--3Google ScholarGoogle Scholar
  13. AMD Corp. AMD64 Technology AMD64 Architecture Programmer's Manual,Volume 4--5Google ScholarGoogle Scholar
  14. AMD Corp. Software Optimization Guide for AMD Athlon" 64 and AMD Opteron" ProcessorsGoogle ScholarGoogle Scholar
  15. Intel Corp. Intel® Pentium® 4 Processor Optimization Reference ManualGoogle ScholarGoogle Scholar
  16. Weiwu Hu, Fuxin Zhang, Zusong Li, Microarchitecture of the Godson-2 Processor, http://www.loongson.cn/newweb/phpcms/uploadfile/article/uploadfile/200709/20070924095420719.rarGoogle ScholarGoogle Scholar
  17. C.Evan Foster III, Harold C.Grossman, An empirical investigation of the Haifa register allocation technique in the GNU C compiler, Southeastcon '92, Proceedings., IEEE 12--15 April 1992, Page(s):776 -- 779 vol.2 Digital Object Identifier 10.1109/SECON.1992.202433.Google ScholarGoogle Scholar

Index Terms

  1. Exploiting idle register classes for fast spill destination

    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
      ICS '08: Proceedings of the 22nd annual international conference on Supercomputing
      June 2008
      390 pages
      ISBN:9781605581583
      DOI:10.1145/1375527

      Copyright © 2008 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: 7 June 2008

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate584of2,055submissions,28%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader