SSA-представление используется в некоторых языках программирования вместо CPS по разным причинам.
Для императивных языков (например, для LLVM, GNU Compiler Collection и многих коммерческих компиляторов) SSA-представление предпочтительнее CPS, так как традиционные оптимизации для таких языков легче переносятся в форму SSA, чем в CPS. 34 В частности, цепочки use-def и def-use можно «считать» непосредственно из представления SSA. 4
Для функциональных языков, таких как Scheme, ML и Haskell, CPS-представление (англ. Continuation-passing style) используется вместо SSA, потому что CPS более естественен для функций высшего порядка и межпроцедурного анализа. 3 Также CPS легко кодирует call/cc, в то время как SSA — нет. 3
Формально SSA и CPS эквивалентны, поэтому оптимизации и трансформации, сформулированные в одном из представлений, могут быть применены и для другого. 12