- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理-代码优化
第十章代 码 优 化;-优化的定义:对程序进行各种等价变换,使得变换后的代码运行结果与变换前代码运行结果相同,而运行速度加大,或占用存储空间减少,或两者都有。
空间效率和时间效率有时是一对矛盾,有时不能兼顾。
-三条优化原则
等价:是指不改变程序的运行结果;
有效:主要指优化后的目标代码运行时间较短,以及占用的存储空间较小。
合算:应尽可能以较低的代价取得较好的优化效果。;- 优化的时机;;变量的引用点和定值点
点:某一四元式的位置。
引用点(使用点):在该点使用了该变量。
如:表达式中的变量。
定值点(定义点):在该点变量被赋值或输入值。
如:赋值语句左部的变量。
例1: x := x + 1 ;
例2: x:=y+z称为对x定值并引用y和z。 ;基本块内的变换为局部优化。
基本块定义: 程序中一顺序执行的语句序列:其中只有一个入口语句(第一条语句),一个出口语句(最后一条语句)。
执行时只能从入口语句进入,从出口语句退出,中途没有停止或分枝。
例如: t1:=a * a t2:=a * b t3:=2 *t2 t4:=t1+t2
t5:=b * b t6:=t4+t5;一、基本块的划分??
三地址语句序列=基本块表
1.入口语句:
采用如下规则确定:
(a)代码序列的第一个语句。
(b)条件或无条件转移语句的转移目标语句。
(c)紧跟在无条件转移语句或条件转移语句后
面的语句。
;算法:划分四元式程序形成基本块 ;
例:
(1) read x
(2) read y
(3) r:=x mod y
(4) if r=0 goto (8)
(5) x:=y
(6) y:=r
(7) goto (3)
(8) write y
(9) halt; (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.删除公共子表达式
2.复写传播
3.删除无用代码
4.重新命名临时变量
5.交换语句次序
6.合并已知量;公共子表达式:①子表达式E先前已计算过。
②且从上次计算到现在,E中的变
量的值没有改变。
优点:避免重复计算。 ;2.复写传播; (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);3.删除无用代码
四元式t1:=x op y; t1不再被引用,则无用。
例如:①A:=B;
… ;{未引用A}
A:=C*D
则①A:=B;为无用代码,可删除
4.重新命名临时变量
例如:
t:=b+c ?? u:=b+c ; (1) P:=0
(2) I:=1 (4) T2:=addr(A)-4
(7) T5:=addr(B)-4
(3) T1:=4
(5) T3:=T2[T1]
(6) T4:=T1
(8) T6:=T5[T1]
(9) T7:=T3*T6 (10)P:=P+T7
(11)I:=I+1
(3’)T1:=T1+4
(12)if T1<=80 goto(5);5.交换语句次序
目的:减少临时变量
例如:相邻两个语句
t1:=b+c ? t2:=x+y
t2:=x+y ? t1:=b+c;6.合并已知量
您可能关注的文档
- 线路工程测量讲义.ppt
- 组织发展的技术传承.ppt
- 组合逻辑电路讲义.ppt
- 组织外部环境分析讲义.ppt
- 组合逻辑电路讲义(精品).ppt
- 组织培养的基本原理.ppt
- 组织行为学-第六章 冲突.ppt
- 组合体视图及尺寸标注.ppt
- 组织行为学自考辅导讲义.ppt
- 细胞的基本功能讲义.ppt
- 重庆高性能橡胶密封件生产线项目规划设计方案.docx
- 医疗机构护理技能大赛理论考试试题及答案.docx
- 2025粮油食品检验人员通关题库及参考答案详解【培优B卷】.docx
- 2025粮油食品检验人员通关考试题库附参考答案详解(考试直接用).docx
- 双师型教师培养的价值定位与教育家精神的指导意义.docx
- 2025粮油食品检验人员通关题库(真题汇编)附答案详解.docx
- 2025粮油食品检验人员预测复习附完整答案详解【有一套】.docx
- 2025粮油食品检验人员通关考试题库(重点)附答案详解.docx
- 重庆高分子材料生产线项目投资计划书(参考范文).docx
- 2025粮油食品检验人员题库试题及答案详解【真题汇编】.docx
最近下载
- Sharp数据表紧凑型光学灰尘传感器.pdf VIP
- 重点语法知识梳理五:感叹句及100题(教师版)-2021-2022学年八年级英语上学期期末知识大串讲(牛津上海版).pdf VIP
- 初一数学导学案.doc VIP
- 猫瘟(猫泛白细胞减少症).ppt VIP
- 2022-2023学年八年级英语下学期期末考点大串讲(牛津上海版)重点语法知识梳理一:现在完成时及拓展专练50题(解析版).pdf VIP
- 2022-2023学年八年级英语下学期期末考点大串讲(牛津上海版)重点语法知识梳理二:宾语从句及拓展专练50题(解析版).pdf VIP
- 国家开放大学电大本科《数据库应用技术》2029-2030期末试题及答案(125精品.pdf VIP
- 《轻断食完整指南有效减肥和控制糖尿病的全饮食法》笔记.docx VIP
- 稳定期慢性气道疾病吸入装置规范应用中国专家共识解读课件.pptx VIP
- (高清版)B-T 15022.9-2022 电气绝缘用树脂基活性复合物 第9部分:电缆附件用树脂.pdf VIP
文档评论(0)