skip to main content
10.1145/1454115.1454120acmconferencesArticle/Chapter ViewAbstractPublication PagespactConference Proceedingsconference-collections
research-article

Redundancy elimination revisited

Published:25 October 2008Publication History

ABSTRACT

This work proposes and evaluates improvements to previously known algorithms for redundancy elimination.

Enhanced Scalar Replacement combines two classic techniques, scalar replacement and hash-based value numbering. The former detects redundant array references within and across loop iterations, while the latter detects a large class of redundancies, but only within a single loop iteration. By integrating the two techniques, ESR detects and eliminates a wider range of expression redundancies across loop iterations.

We also extend hash-based value numbering to perform reassociation. Classic redundancy elimination techniques operate on an intermediate representation of the program in which operand association and order is of fixed shape. This rigidity in code shape may sometimes obscure redundancies. Our optimizer attempts to shape the code by changing associativity, exposing more redundancies. Opportunities for ESR, in particular, are increased with reassociation.

References

  1. Randy Allen and Ken Kennedy. Vector register allocation. IEEE Transactions on Computers, 41(10):1290--1317, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Randy Allen and Ken Kennedy. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Rastislav Bodík and Sadun Anik. Path-sensitive value-flow analysis. In POPL '98: Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 237--251, New York, NY, USA, 1998. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Rastislav Bodik, Rajiv Gupta, and Mary Lou Soffa. Load-reuse analysis: Design and evaluation. In SIGPLAN Conference on Programming Language Design and Implementation, pages 64--76, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. I. Bomze, M. Budinich, P. Pardalos, and M. Pelillo. The maximum clique problem. In D.-Z. Du and P. M. Pardalos, editors, Handbook of Combinatorial Optimization, volume 4. Kluwer Academic Publishers, Boston, MA, 1999.Google ScholarGoogle Scholar
  6. Melvin A. Breuer. Generation of optimal code for expressions via factorization. Communications of the ACM, pages 333--340, June 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Preston Briggs and Keith D. Cooper. Effective partial redundancy elimination. In PLDI '94: Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, pages 159--170, New York, NY, USA, 1994. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Preston Briggs, Keith D. Cooper, and L. Taylor Simpson. Value numbering. Software -- Practice and Experience, 27(6):701--724, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. David Callahan, Steve Carr, and Ken Kennedy. Improving register allocation for subscripted variables. SIGPLAN Notices, 25(6):53--65, June 1990. Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. John Cocke and Jacob T. Schwartz. Programming languages and their compilers: Preliminary notes. Technical report, Courant Institute of Mathematical Sciences, New York University, 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Steven J. Deitz, Bradford L. Chamberlain, and Lawrence Snyder. Eliminating redundancies in sum-of-product array computations. In ICS '01: Proceedings of the 15th international conference on Supercomputing, pages 65--77, New York, NY, USA, 2001. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Andrei P. Ershov. On programming of arithmetic operations. Communications of the ACM, 1(8):3--9, 1958. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Andrei P. Ershov. Programming Programme for the BESM Computer. Pergamon Press, 1959.Google ScholarGoogle Scholar
  14. J. Felsenstein, S. Sawyer, and R. Kochin. An efficient method for matching nucleic acid sequences. Nucleic Acids Research, 10(1):133--139, 1982.Google ScholarGoogle ScholarCross RefCross Ref
  15. Dennis J. Frailey. Expression optimization using unary complement operators. SIGPLAN Notices, 5(7):67--85, July 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Dan Gusfield. Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology. Cambridge University Press, January 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Hans Kellerer, Ulrich Pferschy, and David Pisinger. Knapsack Problems. Springer, Berlin, Germany, 2004.Google ScholarGoogle Scholar

Index Terms

  1. Redundancy elimination revisited

    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
      PACT '08: Proceedings of the 17th international conference on Parallel architectures and compilation techniques
      October 2008
      328 pages
      ISBN:9781605582825
      DOI:10.1145/1454115

      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: 25 October 2008

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate121of471submissions,26%

      Upcoming Conference

      PACT '24
      International Conference on Parallel Architectures and Compilation Techniques
      October 14 - 16, 2024
      Southern California , CA , USA

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader