European Symposium on Programming

ESOP 1998: Programming Languages and Systems pp 154-169

Code motion and code placement: Just synonyms?

  • Jens Knoop
  • Oliver Rüthing
  • Bernhard Steffen
Regular Papers

DOI: 10.1007/BFb0053569

Volume 1381 of the book series Lecture Notes in Computer Science (LNCS)
Cite this paper as:
Knoop J., Rüthing O., Steffen B. (1998) Code motion and code placement: Just synonyms?. In: Hankin C. (eds) Programming Languages and Systems. ESOP 1998. Lecture Notes in Computer Science, vol 1381. Springer, Berlin, Heidelberg

Abstract

We prove that there is no difference between code motion (CM) and code placement (CP) in the traditional syntactic setting, however, a dramatic difference in the semantic setting. We demonstrate this by re-investigating semantic CM under the perspective of the recent development of syntactic CM. Besides clarifying and highlighting the analogies and essential differences between the syntactic and the semantic approach, this leads as a side-effect to a drastical reduction of the conceptual complexity of the value-flow based procedure for semantic CM of [20], as the original bidirectional analysis is decomposed into purely unidirectional components. On the theoretical side, this establishes a natural semantical understanding in terms of the Herbrand interpretation (transparent equivalence), and thus eases the proof of correctness; moreover, it shows the frontier of semantic CM, and gives reason for the lack of algorithms going beyond. On the practical side, it simplifies the implementation and increases the efficiency, which, like for its syntactic counterpart, can be the catalyst for its migration from academia into industrial practice.

Keywords

Program optimizationdata-flow analysiscode motioncode placementpartial redundancy eliminationtransparent equivalenceHer-brand interpretation
Download to read the full conference paper text

Copyright information

© Springer-Verlag 1998

Authors and Affiliations

  • Jens Knoop
    • 1
  • Oliver Rüthing
    • 2
  • Bernhard Steffen
    • 2
  1. 1.Universität PassauPassauGermany
  2. 2.Universität DortmundDortmundGermany