我的 SSA 构造是否正确? (重命名)
Is my construction of SSA correct? (Renaming)
我一直在学习 ssa(静态单一赋值形式),我得到了下图,其中插入了 phi 函数,但该图尚未重命名:
我不得不重命名变量,这就是我得到的:
我不确定这是否正确。我是否正确重命名了变量?这是最小的 ssa 吗?我正在使用 here(Cytron 等人的论文)中的算法来重命名变量。请帮忙! :)
不,您的图表不正确。 phi-functions 和 x
和 y
的重命名是正确的,问题是临时变量 t1
到 t3
。当输入块 L1
并且根本不需要任何 phi-functions 时,这些变量是死的。如果您坚持让这些变量具有 phi-functions,则您必须假设这些变量存在并且在输入图形时具有不确定的值。让 t1_0
、t2_0
和 t3_0
成为这些值并相应地更新重命名的图形。
我一直在学习 ssa(静态单一赋值形式),我得到了下图,其中插入了 phi 函数,但该图尚未重命名:
我不得不重命名变量,这就是我得到的:
我不确定这是否正确。我是否正确重命名了变量?这是最小的 ssa 吗?我正在使用 here(Cytron 等人的论文)中的算法来重命名变量。请帮忙! :)
不,您的图表不正确。 phi-functions 和 x
和 y
的重命名是正确的,问题是临时变量 t1
到 t3
。当输入块 L1
并且根本不需要任何 phi-functions 时,这些变量是死的。如果您坚持让这些变量具有 phi-functions,则您必须假设这些变量存在并且在输入图形时具有不确定的值。让 t1_0
、t2_0
和 t3_0
成为这些值并相应地更新重命名的图形。