加载中...

静态单赋值形式(Static Single Assignment,SSA)是一种中间表示约束:程序中每个变量在文本上只被赋值一次,同一变量的多次赋值被改写为带下标的新版本。
当控制流在某个基本块汇合、同一变量可能来自不同前驱时,SSA 引入 phi 函数按来源路径选择对应版本。构造 SSA 通常借助支配树与支配边界计算 phi 插入位置。
SSA 让「使用—定义」关系变得显式且唯一,使常量传播、死代码消除、公共子表达式消除、寄存器分配等优化更简单高效。
LLVM IR 原生采用 SSA;GCC 的 GIMPLE、HotSpot 的 C2、V8 的 TurboFan 等主流编译器中端普遍基于 SSA 或其变体(如 Sea of Nodes)进行优化。

登录 后参与讨论
暂无讨论,来发表第一条评论吧