2.3.2 内存建模:MemorySSA 与 指针别名分析 在编译器的中间表示(IR)演进史上,SSA(Static Single Assignment)曾是一场静默却彻底的革命——它让控制流与数据流的分离变得如此自然,以至于我们几乎忘了,在它出现之前,编译器如何在混乱的重定义中徒劳地追踪变量的“真实身份”。但当这场革命席卷标量寄存器后,一个更顽固的堡垒始终屹立不倒:内存。 你无法对 做一次简单的 φ 节点插入;你不能像处理 那样,为每次 分配一个唯一、命名、不可变的“内存版本”。因为内存不是寄存器——它是共享的、间接的、别名缠绕的、跨基本块弥漫的幽灵。直到 MemorySSA 的诞生,这场革命才真正抵达内存的腹地。