main() int xr y, Zi x=(1+20)大-× y =x*x+(x/y y=z=(x/y)/(x*x) tmp1=1+20 tmp x =tmpl tmp2 tmp 3 tmp =x/y y tmp3 tmp 4 i tmp=x /y i tmp6=×x z tmp 5 /tmp i Z/
main() { int x, y, z; x = (1+20)* -x; y = x*x+(x/y); y = z = (x/y)/(x*x); } tmp1 = 1 + 20 ; tmp2 = -x ; x = tmp1 * tmp2 ; tmp3 = x * x ; tmp4 = x / y ; y = tmp3 + tmp4 ; tmp5 = x / y ; tmp6 = x * x ; z = tmp5 / tmp6 ; y = z ;
●优化技术简介 1删除多余运算 2循环不变代码外提 3.强度削弱 4变换循环控制条件 5合并已知量与复写传播 6.删除无用赋值 P:=0 for i: =1 to 20 do P: =P+Al*B
•优化技术简介 1.删除多余运算 2.循环不变代码外提 3.强度削弱 4.变换循环控制条件 5.合并已知量与复写传播 6.删除无用赋值 P:=0 for I:=1 to 20 do P:=P+A[I]*B[I]
(1)P:=0 (1)P:=0 2)l:=1 2):=1 (4)T2:=addr(4)-4 3)T;:=4I (T5:addr(B) (4)T2:=addr(A)-4 (5)T3:=T2[Tl (3)T1=4*I (6)T4=4I (5)T3:=T2[T (Ts:=addr(B)-4 (6)T4:=T1 (8)T6:=TS|T4 (8)T6:=T5[T4 (9)T7=T*T6 (9)17:=T32 10)P:=P+T (10)P:=P+T7 l1)l:=I+1 (11)l:=I+1 412)if <=20 goto(3) 12)if<=20g0to(3
(1)P:=0 (2)I:=1 (3)T1 :=4*I (4)T2 :=addr(A)-4 (5)T3 :=T2 [T1 ] (6)T4 :=4*I (7)T5 :=addr(B)-4 (8)T6 :=T5[T4] (9)T7 :=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I<=20 goto(3) (1)P:=0 (2)I:=1 (3)T1 :=4*I (5)T3 :=T2[T1] (8)T6 :=T5[T4] (9)T7 :=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I<=20 goto(3) (4)T2:=addr(A)-4 (7)T5:=addr(B)-4 (6)T4:=T1
(1)P:=0 (1)P:=0 (2)l:=1 (2)l:=1 (4)T2:=addr(A)-4 °(4)T2:=addr(A)-4 (7)Ts:=adr(B)-4 (7)T 5:add (B)-4 (3)T1:=4I (3)T1=4*I (5)Tg:=T2[T1 (5)T3:=T2[Tl (6)T4:=T1 (6)T4=T1 (8)T6:=T5T2 (8)T6:=T5[T4 (9)T7=T (10)P:=P+T (10)P:=P+T7 °(11)l:=I+1 (3)T1:=T1+4 l1)l:=I+1 .2if<=20 gotos (12)if K<=20 goto)
(1)P:=0 (2)I:=1 (4)T 2 :=addr(A) - 4 (7)T 5 :=addr(B) - 4 (3)T 1 :=4*I (5)T 3 :=T2[T1] (6)T 4 :=T1 (8)T 6 :=T5[T4] (9)T 7 :=T 3*T 6 (10)P:=P+T 7 (11)I:=I+1 (12)if I<=20 goto(3) • (1)P:=0 • (2)I:=1 • (4)T2 :=addr(A) - 4 • (7)T 5 :=addr(B) - 4 • (5)T 3 :=T 2 [T 1 ] • (6)T 4 :=T 1 • (8)T 6 :=T 5 [T 4 ] • (9)T 7 :=T 3*T 6 • (10)P:=P+T 7 • (11)I:=I+1 • (12)if I<=20 goto(5) (3)T1:=4*I (3‘)T1:=T1+4
(1)P:=0 (1)P:=0 (2)l:=1 (2)l:=1 (4T2: -addr(A)-4 (4)T2:=adr(A)-4 (Ts:addr(B)-4 (Ts:=addr(b)- 3):=4 5)T3:=T2T1l (5)T3:=T2T (8)T6:=Ts[T4 (8T6T5 f1 (9)T;:=T3*T 10)P:=P+T (10)P:=P+T (11)l:=H+1 (11)l:=I+1 (3)T1:=T1+4 (3)T1:=T1+4 (12)ifl<=20goto(5) (1fT1<80goto(5)
(1)P:=0 (2)I:=1 (4)T2 :=addr(A)-4 (7)T5 :=addr(B)-4 (3)T1 :=4*I (5)T3 :=T2 [T1 ] (6)T4 :=T1 (8)T6 :=T5 [T4 ] (9)T7 :=T3*T6 (10)P:=P+T7 (11)I:=I+1 (3’)T1:=T1+4 (12)if I<=20 goto(5) (1)P:=0 (2)I:=1 (4)T2 :=addr(A)-4 (7)T5 :=addr(B)-4 (5)T3 :=T2 [T1 ] (6)T4 :=T1 (8)T6 :=T5 [ ] (9)T7 :=T3*T6 (10)P:=P+T7 (11)I:=I+1 (3’)T1 :=T1+4 (12)if <=80 goto(5) (3)T1:=4 T1 T1