Abstract
Traditionally, program optimisation stands for various kinds of program transformations intended to improve the run-time performance of the generated code. Optimising transformations are usually applied as intermediate steps within the compilation process. More specifically, an optimising compiler principally proceeds in three stages [Muc97]:
-
The front end translates the source program into an intermediate form. Usually, intermediate level programs are represented in terms of flow graphs built of quite elementary, yet machine-independent instructions.
-
The optimiser performs several transformations on the intermediate level, each addressing a particular optimisation goal of interest.
-
The back end finally translates the transformed intermediate program into machine-specific code. This stage particularly comprises typical machine-dependent tasks like register allocation [Cha82, CH90, Bri92b] and instruction scheduling [BR91, GM86].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
(1998). Introduction. In: Interacting Code Motion Transformations: Their Impact and Their Complexity. Lecture Notes in Computer Science, vol 1539. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49209-7_1
Download citation
DOI: https://doi.org/10.1007/3-540-49209-7_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65510-7
Online ISBN: 978-3-540-49209-2
eBook Packages: Springer Book Archive