

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第11章wuchxcourse@sinacom第11章代码优化学习学习目掌中间代码优化的基本思了11.1概目提高目标程序的效率11.111.1概2.注意事项:⑴等价原则——不应改变程序⑵有效原则——优化后的目标代码效率确实提高⑶合算原则——以较低的代价取得较好的优化效果11.1概3.优化的消除公共子表达式利用(基本块优化)删除无用赋循环不变式循环优化强度削T7:=T6T7:=T6T10:=T8gotoT7:=T6T10:=T8gotogoto11.2基本块优化11.2基本块优化中只有一个和一个出口,就是第一个语句,出口就其进入,从其出口退出。11.2基本块优化① 语程序的第一个语句能由条件转语句/无条件转语句转移到的语句紧跟在条件转移语句后面②对每 语句,构造其所属的基本由 语句到另 语句(不含该语句)到一转移语句(包括到一停语句(包括①①read②read③R:=Xmod④ifR=0goto⑤⑥⑦goto⑧wrtie⑨①read②read③R:=X④ifR=0goto⑤⑥⑦goto⑧wrtie⑨程序的流11.2基本块优3 11.2基11.2基本块优3 T7:= T10:= goto goto删除公共子表达T7:=T6T10:=T8goto复goto删除无用代11.2基本块优基本块的DAG(DirectedAcyclicGraph)表示叶结点用标识符(变量名)或常数作为其惟一的标记,当叶结点是标识符时,代表名字的初值,给它加下标0;结点个结点上的若干个标识符有相同的值。11.2基本块优化411.2基本块优化4.基本块的DAG(DirectedAcyclicGraph)表示本算法只对如下三种四元式构造0型1型opA2型opAB引进函数noeA),它将返回与标识符A相应的最近建立的结点。o是双目运算符,还可以是或。步骤1初始DAG步骤2依次对基本块中的每一个四元式“opABC”,步骤3如果noeA)没有定义,则建立叶结点,标记为A,让noe(A)等于这个结点。如果对于2型四元式noeB)没有定义,则建立叶结点,这时标记为B,且让noe(B)等于该新建结点,如果noeA)和noeB)都是已知常量,则执行Aop合并常量),得到新常量P,为P建立一个叶结点,标记为P,如果nodeA)或noe(B)是处理当前四元式时建立的新结点,则删除它。基本基本块的DAG图的构造算步骤4对三种四元式分别处理如下①对于0型,让n是node(A)②对于1型,查看是否存在标记为o的结点,且它有惟一的子结点noe(A)。如果不存在,则建立这样的结点。让n是找到或建立的结点。③对于2型,查看是否存在标记为o的结点,且其左右子结点分别是nodeA)与noeB)。如果不存在,则建立这样的结点。让是找到或建立的结点。步骤5当C为标识符时,从node(C)的标识符表删去C,11.2基本块优5.利用DAG①从基本块构造②从DAG重写11.2基11.2基本块优5.利用DAG图进行基本块的优n-11t9:=t4-n8+n10-n6t3+n2t1*n5t2* 111.2基本块优n7*n6R,H/nSn4-n5+3/ n0S0,S4n1 (104)(107)(10) B(103)(102)'(+,T,10,T(110)(104)(:=,TB删除归纳变11.311.3如循环中对变量I只有惟一的形如I:=I±C的赋值,且C为循环的区域常量,则称I为循环的基本归纳变量。基本归纳变量除用于自身的递归定值外,往往只在循环中用来计算其它归纳变量以及用来控制循环的进行。(103)(+,I,T1,T2)B(102)(*,10,k,T(107)(:=,T4(109)(:=,T(103)(+,I,T,T(100)(102)B3(103)B4(109)(:=,T删除公共子表达(110)B1(100)(:=,1,_,BB(102)(*,10,k,T)B(103)(104)(j,_,_(103)(104)(:=,TB(102)‘(+,T,10,T(110)(j,_,_消减强(106)(+,J,T,T(110)(j,_,_B1(100)B(101)(j>,k,10,(111)优化B(100)(101)'(j>,T(102)第11章小结第11章小结《编译原理》(第1版《编译原理》(第2版等, 技大等, 技大《程序设计语言
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 音乐课中国古典课件
- 急救方法培训课件
- 油田开发项目质量管理方案
- 高效节能电机项目社会稳定风险评估报告(范文参考)
- 2025年砂洗机项目发展计划
- 2025年碾米机械项目合作计划书
- 2025年家用制冷电器具项目发展计划
- 2025年政府引导基金项目合作计划书
- 维修表扬信范文
- 2025年旅游景区开发建设项目社会稳定风险评估与管理规范报告
- 《无人机介绍》课件
- 2025-2030中国硼酸行业市场发展现状及竞争格局与投资研究报告
- 学校中层干部选拔聘用实施方案中层干部选聘实施方案2
- 生物必修1教师用书
- 园艺植物育种学知到课后答案智慧树章节测试答案2025年春浙江大学
- 《电力机车制动系统检修与维护》课件 项目二任务四检修中继阀
- GB/T 15683-2025粮油检验大米直链淀粉含量的测定
- 2025吉林省安全员C证考试(专职安全员)题库及答案
- 电钻清洗消毒流程
- 装修贷款申请书
- 造林安全文明施工方案
评论
0/150
提交评论