第11章 代码优化.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理 武汉大学计算机学院 编译原理课程组 第11章 代码优化 ◆ 基本思想 ◆ ◆ 优化的种类 ◆ ◆ 基本块优化 ◆ ◆ 循环优化 ◆ 11.1 概述 1.目的 提高目标程序的效率。 2.改进程序效率的途径 ◆ 改进算法 ◆ ◆ 利用程序库 ◆ ◆ 编译时刻的优化 ◆ ◆ 源程序级等价变换 ◆ 11.1 概述 2.编译时刻的优化 在中间代码上进行,仅在目标程序上进行窥孔优化。 注意事项: ⑴等价原则——不应改变程序的功能。 ⑴等价原则——不应改变程序的功能。 ⑵有效原则——优化后的目标代码效率确实提高。 ⑵有效原则——优化后的目标代码效率确实提高。 ⑶合算原则—— 以较低的代价取得较好的优化效果。 ⑶合算原则—— 以较低的代价取得较好的优化效果。 11.1 概述 3.优化的种类 局部优化 常量合并 利用DAG 消除公共子表达式 (基本块优化) 图优化 删除无用赋值 与机器无关 循环不变式外提 类 种 的 化 优 的优化 循环优化 强度削弱 删除归纳变量 全局优化 与机器有关 寄存器优化 的优化 并行分支优化 窥孔优化 11.2 基本块优化 1.基本块 所谓基本块,是指程序中一顺序执行的语句序列,其中只有一个 入口和一个出口,入口就是第一个语句,出口就是最后一个语句。对 于一个基本块来说,执行时,只能从其入口进入,从其出口退出。 11.2 基本块优化 2.划分基本块的算法 ①求入口语句,它们是: ⅰ.程序的第一个语句;或者 ⅱ.能由条件转移语句或无条件转移语句转移到的语句;或者 ⅲ.紧跟在条件转移语句后面的语句。 ②对以上求出的每一入口语句,构造其所属的基本块。它是由该 入口语句到另一入口语句(不包括该入口语句),或到一转移语句 (包括该转移语句),或到一停语句(包括该停语句)之间的语句序 列组成的。 ③凡未被纳入某一基本块的语句,都是程序中控制流程无法到达 的语句,从而也是不会被执行到的语句,将其删除。 ① read X ① read X ② read Y ② read Y ③ R:=X mod ④ if R=0 goto (8) ③ R:=X mod ⑤ X:=Y ④ if R=0 goto (8) ⑥ Y:=R ⑦ goto (3) ⑧ wrtie Y ⑤ X:=Y ⑧ wrti

文档评论(0)

独角戏 + 关注
实名认证
文档贡献者

本人有良好思想品德,职业道德和专业知识。

1亿VIP精品文档

相关文档