skip to main content
article
Free Access

Denali: A practical algorithm for generating optimal code

Published:01 November 2006Publication History
Skip Abstract Section

Abstract

This article presents a design for the Denali-2 superoptimizer, which will generate minimum-instruction-length machine code for realistic machine architectures using automatic theorem-proving technology: specifically, using E-graph matching (a technique for pattern matching in the presence of equality information) and Boolean satisfiability solving.This article presents a precise definition of the underlying automatic programming problem solved by the Denali-2 superoptimizer. It sketches the E-graph matching phase and presents a detailed exposition and proof of soundness of the reduction of the automatic programming problem to the Boolean satisfiability problem.

References

  1. Detlefs, D. L., Nelson, G., and Saxe, J. P. 2003. Simplify: A theorem-prover for program checking. JACM, to appear. Google ScholarGoogle Scholar
  2. Dijkstra, E. W. 1976. A Discipline of Programming. Prentice Hall, Englewood Cliffs, NJ. Google ScholarGoogle Scholar
  3. Downey, P. J., Sethi, R., and Tarjan, R. E. 1980. Variations on the common subexpression problem. JACM, 27, 4 (Oct.), 758--771. Google ScholarGoogle Scholar
  4. Joshi, R., Nelson, G., and Randall, K. 2002. Denali: A goal-directed superoptimizer. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (Berlin, Germany, June). ACM, New York, 304--314. Google ScholarGoogle Scholar
  5. Massalin, H. 1987. Superoptimizer: A look at the shortest program. Proceedings of the Second International Conference on Architectural Support for Programming Languages and Operating Systems, 122--26. Google ScholarGoogle Scholar

Index Terms

  1. Denali: A practical algorithm for generating optimal code

            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

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!