SSA (static single assignment form) используется в современных высокопроизводительных компиляторах для упрощения и эффективности оптимизации кода. 12
Для преобразования в SSA существующие переменные в исходном коде разбиваются на версии, так что каждое определение получает свою собственную версию. 1 Это упрощает выполнение многочисленных анализов, необходимых для оптимизации, например определение цепочек use-define, потому что при рассмотрении использования переменной есть только одно место, где эта переменная могла получить значение. 1
SSA делает возможными или существенно упрощает следующие оптимизационные алгоритмы: 2
SSA используется в большинстве высококачественных оптимизирующих компиляторов для императивных языков, включая LLVM, коллекцию компиляторов GNU и многие коммерческие компиляторы. 1