Skip to main content
Log in

A composite algorithm for strength reduction and code movement optimization

  • Published:
International Journal of Computer & Information Sciences Aims and scope Submit manuscript

Abstract

In the presence of information regarding the execution frequencies of various control paths in a program, use of the tradeoff between code space and execution efficiency has been shown to aid in “selective replication” and optimal placement of code over a program region. This paper extends the scope of the code replication and placement strategies to optimization by reduction of operator strength. The resulting composite strength reduction-cum-code placement approach is shown to eliminate the latent suboptimalities of conventional strength reduction. The approach subsumes the conventional transformations of (1) common subexpression elimination, and (2) movement of loop invariant code, and is easily amenable to the use of efficient solution procedures.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. A. V. Aho and J. D. Ullman,Principles of Compiler Design (Addison-Wesley, Reading, Massachusetts, 1977).

    Google Scholar 

  2. F. E. Allen, “Control flow analysis,”SIGPLAN Notices 9:1–19 (1970).

    Google Scholar 

  3. J. Cocke and K. Kennedy, “Profitability computations on program flow graphs,”Computers and Mathematics with Applications 24:145–159 (1976).

    Google Scholar 

  4. J. Cocke and K. Kennedy, “An algorithm for reduction of operator strength,”Commn. ACM 20:850–856 (1977).

    Google Scholar 

  5. D. M. Dhamdhere, “Algorithm for operator strength reduction,”Comm. ACM 22:311–312 (1979).

    Google Scholar 

  6. D. M. Dhamdhere and J. R. Isaac, “Profitability of Code Movement Optimization,” Computer Centre report, Indian Institute of Technology, Bombay (1978).

    Google Scholar 

  7. S. L. Graham and M. Wegman, “A fast and usually linear algorithm for global flow analysis,”J. ACM 26:172–202 (1976).

    Google Scholar 

  8. D. Gries,Compiler Construction for Digital Computers (Wiley, New York, 1971).

    Google Scholar 

  9. D. Ingalls, “The execution time profile as a programming tool,” inDesign and Optimization of Compilers, R. Rustin, Ed. (Prentice-Hall, Englewood Cliffs, New Jersey, 1972).

    Google Scholar 

  10. K. Kennedy, “A global flow analysis algorithm,”Internat. J. Computer Mathematics 6:5–15 (1971).

    Google Scholar 

  11. K. Kennedy, “Safety of code movement,”Internat. J. Computer Mathematics 6: 112–130 (1972).

    Google Scholar 

  12. E. Morel and C. Renvoise “Global optimization by suppression of partial redundancies,”Commn. ACM 22:96–103 (1979).

    Google Scholar 

  13. M. Schaefer,A Mathematical Theory of Global Program Optimization (Prentice-Hall, Englewood Cliffs, New Jersey, 1973).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Dhamdhere, D.M., Isaac, J.R. A composite algorithm for strength reduction and code movement optimization. International Journal of Computer and Information Sciences 9, 243–273 (1980). https://doi.org/10.1007/BF00977786

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00977786

Key words

Navigation