编译原理 之 代码优化
75页1、第十一章,代码优化,11,1,代码优化技术简介,11,2,局部优化,11,3,控制流程分析和循环,11,4,数据流分析举例,优化分类,按阶段分: 与机器无关的优化-对中间代码进行 依赖于机器的优化-对目标代码进行根据优化所涉及的程序范围分成: (1)局部优化:(基本块) (2)循环优化:对循环中的代码进行优化 (3)全局优化:大范围的优化优化工作数据流分析(data-flow analysis)控制流分析(control-flow analysis) 变换(transformations),优化技术简介: 1.删除多余运算 2.循环不变代码外提 3.强度削弱 4.变换循环控制条件 5.合并已知量与复写传播 6.删除无用赋值 P:=0 for I:=1 to 20 doP:=P+AI*BI,从例子P:=0for I:=1 to 20 doP:=P+AI*BI 看优化技术是什么: (假定数组按每个元素占4个字长编址),(1)P:=0 (2)I:=1(3)T1:=4*I (4)T2:=addr(A)-4 (5)T3:=T2T1 (6)T4:=4*I (7)T5:=addr(B)-4 (8)T
2、6:=T5T4 (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I=20 goto(3),(1)P:=0 (2)I:=1 (4)T2:=addr(A)-4 (7)T5:=addr(B)-4(3)T1:=4*I (5)T3:=T2T1 (6)T4:=T1 (8)T6:=T5T4 (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I=20 goto(3),2. 代码外提,1.删除多余运算,(1)P:=0 (2)I:=1 (4)T2:=addr(A)-4 (7)T5:=addr(B)-4(3)T1:=4*I (5)T3:=T2T1 (6)T4:=T1 (8)T6:=T5T4 (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I=20 goto(3),(1)P:=0 (2)I:=1 (4)T2:=addr(A)-4 (7)T5:=addr(B)-4(5)T3:=T2T1 (6)T4:=T1 (8)T6:=T5T4 (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1(
3、12)if I=20 goto(5),(3)T1:=4*I,(3)T1:=T1+4,3 强度削弱: 乘法改成加法,(1)P:=0 (2)I:=1 (4)T2:=addr(A)-4 (7)T5:=addr(B)-4 (3)T1:=4*I(5)T3:=T2T1 (6)T4:=T1 (8)T6:=T5T4 (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:=T2T1 (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,5 合并已知量,4 变换循环控制条件. I的值在变换后不再被引用,5 复写传播,(1)P:=0 (2)I:=1 (4)T2:=addr(A)-4 (7)T5:=addr(B)-4 (3)T1:=4(5)T3:=T2T1 (6)T4:=T
4、1 (8)T6:=T5T1 (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (3)T1:=T1+4 (12)if T1=80 goto(5),(1)P:=0 (4)T2:=addr(A)-4 (7)T5:=addr(B)-4 (3)T1:=4(5)T3:=T2T1 (8)T6:=T5T1 (9)T7:=T3*T6 (10)P:=P+T7 (3)T1:=T1+4 (12)if T1= C goto L2 (6) B:=B+1 (7) goto L1 (8) L2: write (A) (9) halt,基本块的DAG表示及其应用,DAG ( Directed Acyclic Graph) 无环路有向图基本块的DAG是在结点上带有标记的DAG叶结点: 独特的标识符(名字,常数)标记内部结点: 运算符号标记各个结点: 附加标识符标记,用,DAG,进行基本块的优化,四元式,DAG,结点,0,型:,A:=B(:=,B,A),n1,A,B,1,型,: A:=op B(op,B,A),n2 A,op,n1,B,2,型,: A:=B op C(op, B, C,A),A,op,
《编译原理 之 代码优化》由会员xzh****18分享,可在线阅读,更多相关《编译原理 之 代码优化》请在金锄头文库上搜索。
爱心树活动教案
世界文化之旅0
七年级学年知识归纳
七年级历史下册第二单元第12课《蒙古的兴起和元朝的建立》课件人教新课标版
一片美丽的叶子
非谓语动词 (6)
[中学联盟]江苏省太仓市第二中学七年级英语上册教学课件:Unit3READING1 (2)
“数与代数”教材修订说明
2014年7月师院培训
字理教学快捷入门之一20140521s
议论文写作指导之新材料作文审题立意 (2)
压缩语段 (2)
琵琶行课件 (2)
2014年各年级的教学计划和建议
(苏教版)五年级数学下册找规律第二课时
秋姑娘的信 (5)
苏教版数学五年级上册《复式条形统计图》课件 (2)
【名校课时通】2014届九年级化学全册第二单元探秘水世界第三节原子的构成名师教学课件鲁教版
《逻辑与语文》课件2
《检阅》[1]
2022-05-20 22页
2022-05-20 29页
2022-04-21 115页
2022-04-21 68页
2022-04-17 34页
2022-04-17 38页
2022-04-15 89页
2022-04-15 181页
2022-04-15 148页
2022-04-15 81页