Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Toward a complete transformational toolkit for compilers
Bergstra J., Dinesh T., Field J., Heering J. ACM Transactions on Programming Languages and Systems19 (5):639-684,1997.Type:Article
Date Reviewed: May 1 1998

Optimizing compilers attempt to understand programs in order to produce excellent code. One way in which they express their understanding is to transform a program into one embodying all of the information crucial to that program’s meaning, while providing no irrelevant information. Such transformations are hard to get right without mechanical verification.

Mechanical verification requires a model that defines the meaning of correctness. This paper describes PIM, an equational logic that models the transformations used to obtain the essential dataflow in an imperative program. PIM has a graphical form that is closely related to several common intermediate representations found in optimizing compilers. Common transformations carried out by these compilers can be modeled in PIM, and their correctness can be demonstrated according to that model.

The paper is concerned primarily with the theoretical properties of PIM, although a series of well-chosen examples illustrates the relationship between PIM and common optimization techniques. A small subset of C, incorporating integer operations and address arithmetic, is used to code the examples. The appendix shows how programs in this subset of C can be translated into PIM terms and PIM graphs.

As a practitioner rather than a theorist, I found this paper interesting as an indication of how the largely ad hoc process of optimization might be given a theoretical basis sufficient for producing optimizer generators. It also provides another potentially useful way of rigorously explaining dataflow analysis to students.

Reviewer:  W. M. Waite Review #: CR121466 (9805-0330)
Bookmark and Share
 
Partial Evaluation (F.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Partial Evaluation": Date
The abstraction and instantiation of string-matching programs
Amtoft T., Consel C., Danvy O., Malmkjær K. In The essence of computation. New York, NY: Springer-Verlag New York, Inc., 2002. Type: Book Chapter
Sep 22 2003
Constraint-based partial evaluation for imperative languages
Ying J., Chengzhi J. Journal of Computer Science and Technology 17(1): 64-72, 2002. Type: Article
Apr 25 2003
Optimizing SYB is easy!
Adams M., Farmer A., Magalhães J.  PEPM 2014 (Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation, San Diego, CA, Jan 20-21, 2014)71-82, 2014. Type: Proceedings
May 27 2014
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy