- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 优化.ppt
第十章 优 化 概述 局部优化(重点) 循环优化(难点) 数据流分析(不介绍) 作业 什么是代码优化 p272 含义 是指对程序进行各种等价变换,使得从变换 后的程序出发,能生成更有效的目标代码 代码优化器的地位和结构 10.1 概述 优化的目的和原则 p272 优化目的 优化原则 优化的分类 按阶段分成 根据优化时所涉及的程序范围分成 程序举例 优化技术举例 代码外提p276 每次循环结果 不改变的代码 优化技术举例 强度削弱p277 例如 将循环中的*变换为+,提高运算速度 优化技术举例 复写传播p275 例 T6:=T2 … x:=T6 优化技术举例 删除归纳变量p277 例(11)I:=I+1 (3’)T1:=T1+4 T1:=4*I T1与循环变量I保持线性关系 T1称为归纳变量 因为I在其它地方没有引用 所以(12)中条件可变换为 (12)if T1=80 goto(5) 故(2)I (11) I 的赋值无用 优化技术举例 删除无用代码p276 例 (2) I 赋值无用 优化技术简介 p273~278 1.删除公共子表达式(删除多余运算) 2.复写传播 3.循环不变代码外提 4.强度削弱(循环) 5.删除归纳变量(变换循环控制条件) 6.删除无用赋值 7.合并已知量 10.2 局部优化 p279 定义 局限于基本块范围内的优化 主要内容 基本块及流图 基本块的DAG表示及其应用 基本块的定义和性质 p279 基本块的定义 是指程序中一顺序执行的 语句序列,其中只有一个 入口语句和一个出口语句 基本块入口语句的确定 p279 划分基本块的算法 p279 1.求出四元式程序中各个基本块的入口语句 2.对以上求出的每一个入口语句,构造其所 属的基本块。由该入口语句 (1)到另一入口语句(不包括该入口语句)或者 (2)到一转移语句(包括该转移语句);或者 (3)到一停语句(包括该停语句) 之间的语句序列组成 3.凡未被纳入某一基本块的语句,都是程序 中控制流程无法到达的语句,从而也是不会 被执行到的语句,可把它们从程序中删除 划分基本块课堂练习 程序流图构造举例 p281 以基本块为结点,以程序控制流为有向边的一张 有向图,用来描述程序 程序流图构造方法 p280 程序流图 按照程序的执行过程,用有向边把基本块连接起 来,构成程序的控制流图 构成特点 G(N,E,n0) N 结点集—基本块集 E 有向边集—执行流程 n0 唯一首结点—入口语句是程序第一条语句的基本块 有向边 Bi→Bj 含义 程序执行时,Bj紧接在Bi之后执行 存在条件 在程序序列中 (1)if Bi出口不是无条件转移或停语句 then Bj紧接在Bi之后 (2)if Bi出口是goto(S)或if …goto(S) then (S)是Bj的入口 程序流图构造课堂练习 p281 常用局部优化技术 p280 删除无用赋值 设所有临时变量和C在以后无 用,则除了计算X,Y时要用到 的变量保留外,删除其它赋值 (2)’(5)’(6)’(7)’ 基本块的DAG表示及其应用 p281 基本块的DAG表示方法 几种常见三地址代码及 对应DAG表示 基本块的DAG构造算法 基本块的DAG应用 基本块的DAG表示举例 p281 有向无环图 基本块的DAG表示 p281 基本块的DAG—Directed Acyclic Graph 结点带有标记或附加标记的DAG 几种常见三地址代码及对应DAG形式 简介DAG的构造过程 p282 构造DAG的大致过程 对每一个三地址代码,按其类型不同分别构造 0型 A:=B NODE(B)=NULL 简介DAG的构造过程 p282 1型 A:=op B NODE(B)=NULL 简介DAG的构造过程 p282 2型 A:=B op C NODE(B)=NODE(C)=NULL 基本块的DAG构造举例 p283~284 基本块的DAG构造课堂练习 利用DAG优化举例 p283~284 利用DAG优化课堂练习 利用DAG可实现的优化 p285 构造DAG时实现的优化 合并已知量 删除无用赋值 删除多余运算 复写传播 从构造出的DAG中可得到的优化信息 在基本块外被定值并在基本块内被引用的所有标识 符就是作为叶子结点上的那些标识符 在基本块内被定值且该值能在基本块后面被引用的 所有标识符,就是DAG各结点上的那些附加标识符 利用上述信息,可以进一步优化(删除无用赋值) 例如 某结点上无附加标记或附加标记在块外无用, 且无前驱,则不
您可能关注的文档
最近下载
- 幼儿园多功能厅和安全设施采购 投标方案(技术方案).doc
- 2025广东江门市江海区建设工程质量检测站合同制工作人员招聘5人笔试备考题库及答案解析.docx VIP
- 第5课用发展的观点看问题教学设计-2023-2024学年中职高教版(2023)哲学与人生.docx VIP
- ASME B1.15-1995 统一英寸螺纹(UNJ螺纹形式).pdf VIP
- 个人二手车买卖合同协议书(标准版).doc VIP
- 普兰店市城市主干路施工组织设计(投标)_secret.doc
- 2024年福建省福州市鼓楼区华大街道招聘社区工作者真题及参考答案详解一套.docx VIP
- 2024年福建省福州市鼓楼区华大街道招聘社区工作者真题及参考答案详解.docx VIP
- 2025年新北师大版数学二年级上册全册教案.pdf
- 第5课 用发展的观点看问题 教学设计-2024-2025学年中职思想政治高教版(2023)哲学与人生.docx VIP
本人在医药行业摸爬滚打10年,做过实验室QC,仪器公司售后技术支持工程师,擅长解答实验室仪器问题,现为一家制药企业仪器管理。
文档评论(0)