1、考虑下面的三地址码语句序列:
1)划分基本块,给每个基本块编号
2)画出代码的流图
3)若有循环,则列出构成每个循环的结点。
B=1
B=2
if w<=x goto L2
e=b
goto L2
L1: goto L3
L2: c=3
b=4
c=6
L3: if y<=z goto L4
goto L5
L4: g=g+1
h=8
goto L1
L5: h=9
解:
2)
3)5、7、3构成一个循环,5是入口结点
2. 设有基本块
T1:=2
T2:=10/T1
T3:=S-R
T4:=S+R
A: =T2 *T4
B: =A
T5:=S+R
T6:=T3 *T5
B: =T6
假设只有A,B在基本块后面还被引用,请写出优化后的四元序列。
解:
优化后的四元式如下
T3:=S-R
T4:=S+R
A:=5*T4
B:=T3*T4