SSA
一度代入された変数はそれ以降変更されることはない
最適化がしやすい
定数伝搬
や
定数畳み込み
など
解析が簡略化されやすい
SSAの表現
code:sample
x=1;
y=1;
x=y;
これを以下のように変換する
code:ssa
x1=1;
y1=1;
x2=y1;
$ \phi
関数
phi function
参照する定義が複数存在する場合に、どの制御フローを通過したかによって適切な値を選択する関数
分岐などがあり静的に変数の値を決定できないときに用いる
pruned-SSA
SemiPruned-SSA
参考
きつねさん
http://ssabook.gforge.inria.fr/latest/book.pdf
https://ja.wikipedia.org/wiki/静的単一代入
https://dev.to/miura1729/-2376
https://qiita.com/takoeight0821/items/073ff1333d1b019f4420#ssa-静的単一代入形式
https://dl.acm.org/doi/abs/10.1145/2491956.2462164