Search code examples
compiler-construction

SSA form implementation


Which algorithm for converting a three-address code or an abstract syntax tree to the static single assignment form is the easiest for implementation and gives a solid results?

Thanks in advance.


Solution

  • There is the paper "Simple and efficient construction of static single assignment form" that allows to directly emit SSA from an AST or bytecode. I would recommend this one.

    Alternatively you could use Cytron's "Efficiently computing static single assignment form and the control dependence graph", but here you need to generate a non-SSA Control Flow Graph first.