Standard construction and destruction algorithms

Singer, J. and Rastello, F. (2022) Standard construction and destruction algorithms. In: Rastello, F. and Bouchez Tichadou, F. (eds.) SSA-based Compiler Design. Springer: Cham, pp. 23-39. ISBN 9783030805142 (doi: 10.1007/978-3-030-80515-9_3)

Full text not currently available from Enlighten.


This chapter describes the standard algorithms for construction and destruction of SSA form. SSA construction refers to the process of translating a non-SSA program into one that satisfies the SSA constraints. In general, this transformation occurs as one of the earliest phases in the middle-end of an optimizing compiler, when the program has been converted to three-address intermediate code. SSA destruction is sometimes called out-of-SSA translation. This step generally takes place in an optimizing compiler after all SSA optimizations have been performed, and prior to code generation. Note, however, that there are specialized code generation techniques that can work directly on SSA-based intermediate representations such as instruction selection, if-conversion, and register allocation. The algorithms presented in this chapter are based on material from the seminal research papers on SSA. These original algorithms are straightforward to implement and have acceptable efficiency. Therefore, such algorithms are widely implemented in current compilers. Note that more efficient, albeit more complex, alternative algorithms have been devised. These are described in further chapters.

Item Type:Book Sections
Glasgow Author(s) Enlighten ID:Singer, Dr Jeremy
Authors: Singer, J., and Rastello, F.
College/School:College of Science and Engineering > School of Computing Science
Published Online:12 June 2021

University Staff: Request a correction | Enlighten Editors: Update this record