第1题
下面关于程序控制流圈和DAG图的叙述中,错误的是_______。
A.DAG图是无环有向图
B.DAG图反映的是函数间的关系
C.程序控制流图的一个结点一定是一个基本块
D.程序控制流图反映了基本块间的关系
第2题
给出基本块B1和B2: B1:(1)A=B*C (2)D=BIC (3)E=A+D (4)F=2*E (5)G=B*C (6)H=G*S (7)F=H*G (8)L=F (9)M=L B2:(1)B=3 (2)D=A+c (3)E=A*C (4)F=D+E (5)G=B*F (6)H=A+C (7)I=A*c (8)J=H+I (9)K=B*5 (10)L=K+J (11)M=L 分别应用DAG对其进行优化,并按以下两种情况由DAG图写出优化后的代码程序: (1)假设基本块中只有变量G、L、M在基本块后将被引用。 (2)假设基本块中只有变量L在基本块后将被引用。
第3题
给出如下基本块,请利用DAG图对该基本块进行优化: (1) C=20 (2) B=A*10 (3) D=2*C (4) E=B-D (5) F=E+6 (6) G=2*C (7) H=B-D (8) I=G*H (9) J=H-1 (10) K=G-10
第6题
对图8—6所示的流图计算:
(1)各基本块的到达一定值集IN(B)。 (2)各基本块中变量引用点的ud链。 (3)各基本块的活跃变量集OUT(B)。 (4)各基本块中变量定值点的du链。
第9题
对某段代码依次划分为基本块B0、B1和B2。其中B0是程序的第一个语句对应的基本块。
其中:表示变量i存在引用;(i)表示变量i存在定值。 (1)给出该程序的控制流图G。 (2)求出G中全部的循环。 (3)求d4ud和d6du。