Interacting Code Motion Transformations: Their Impact and Their Complexity [electronic resource] /
By: Rüthing, O [author.].
Contributor(s): SpringerLink (Online service).Material type: BookSeries: Lecture Notes in Computer Science: 1539Publisher: Berlin, Heidelberg : Springer Berlin Heidelberg, 1998.Description: XII, 232 p. online resource.Content type: text Media type: computer Carrier type: online resourceISBN: 9783540492092.Subject(s): Computer science | Software engineering | Programming languages (Electronic computers) | Computers | Computer logic | Computer Science | Programming Languages, Compilers, Interpreters | Theory of Computation | Logics and Meanings of Programs | Software EngineeringOnline resources: Click here to access online
Basic Formalisms and Definitions -- Basic Formalisms and Definitions -- Expression Motion -- Optimal Expression Motion: The Single-Expression View -- Optimal Expression Motion: The Multiple-Expression View -- Expression Motion in the Presence of Critical Edges -- Assignment Motion -- Program Transformations Based on Assignment Motion -- A Framework for Assignment Motion Based Program Transformations -- Assignment Motion in the Presence of Critical Edges -- Conclusions and Perspectives.
Code motion techniques are integrated in many optimizing production and research compilers. They are still a major topic of ongoing research in program optimization, but traditional methods are restricted by a narrow focus on their immediate effects. A more ambitious approach is to investigate the interdependencies between distinct component transformations. This monograph provides a comprehensive account of the methods most accepted in practice for program analysis and program transformation for imperative languages. It also develops a scenario, systematically and step by step, which overcomes the structural restrictions that had previously long resisted attack. The author presents formal proofs for all the steps leading to this breakthrough, though the reader may skip the proofs and consult the technical details as needed yet still enjoy a smooth introduction to the central principles of code motion.