skip to main content
article
Free Access

A variation of Knoop, Rüthing, and Steffen's Lazy Code Motion

Published:01 May 1993Publication History
Skip Abstract Section

Abstract

Morel and Renvoise discussed in 1979 a universal method for global code optimization in a compiler. By suppressing partial redundancies their method achieves several optimization techniques - such as moving loop invariant computations out of a loop or deleting redundant computations - at once. Their algorithm moves computations to earlier places in execution paths to eliminate partial redundancies. The movement is controlled by some heuristics.The heuristics and algorithms used by Morel and Renvoise sometimes cause difficulties for practical use. Subsequent papers partly circumvented these difficulties by slightly modifying the heuristics and the algorithms. Knoop, Rüthing, and Steffen published in their paper Lazy Code Motion an optimal algorithm for the elimination of partial redundancies which entirely prevents these difficulties. This paper presents a variant of their algorithm which is better prepared for practical use.

References

  1. 1. Dhamdhere, D. M. A Fast Algorithm for Code Movement Optimisation. SIGPLAN Notices 23, 10 (1988), 172-180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2. Dhamdhere, D. M. Practical adaption of the global optimization algorithm of Morel and Renvoise. ACM Trans. Program. Lang. Syst. 13, 2 (1991), 291-294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3. Drechsler, K.-H., Stadel, M. P. A solution to a problem with Morel and Renvoise's "global optimization by suppression of partial redundancies". ACM Trans. Program. Lang. Syst. 10, 4 (1988), 635-640. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4. Knoop, J., Rüthing, O., Steffen, B. Lazy code motion. SIGPLAN Notices 27, 7, (1992), 224-234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5. Morel, E., and Renvoise, C. Global optimization by suppression of partial redundancies. Commun. ACM 22, 2 (1979), 96-103, 111-126. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A variation of Knoop, Rüthing, and Steffen's Lazy Code Motion

    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

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 28, Issue 5
      May 1993
      60 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/152819
      Issue’s Table of Contents

      Copyright © 1993 Authors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 May 1993

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader