📅  最后修改于: 2020-12-06 08:11:24             🧑  作者: Mango
基本块的DAG是有向无环图,在节点上带有以下标签:
输入:它包含一个基本块
输出:它包含以下信息:
Case (i) x:= y OP z
Case (ii) x:= OP y
Case (iii) x:= y
步骤1:
如果未定义y操作数,则创建node(y)。
如果未定义z操作数,则为case(i)创建node(z)。
第2步:
对于情况(i),创建节点(OP),其右子节点为node(z),左子节点为node(y)。
对于情况(ii),检查是否有一个子节点(y)的节点(OP)。
对于情况(iii),节点n将是节点(y)。
输出:
对于node(x),从标识符列表中删除x。将x附加到在步骤2中找到的节点n的附加标识符列表。最后将node(x)设置为n。
考虑以下三个地址声明:
S1:= 4 * i
S2:= a[S1]
S3:= 4 * i
S4:= b[S3]
S5:= s2 * S4
S6:= prod + S5
Prod:= s6
S7:= i+1
i := S7
if i<= 20 goto (1)