网站大量收购独家精品文档,联系QQ:2885784924

编译原理--代码优化.pptVIP

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第八章代码优化;8.1什么是代码优化;④变换循环控制条件:目的是删除那些纯粹为控制循环而设立的语句,因此又称删除归纳变量。

⑤合并量:对于那些编译时便可静态确定的运算结果事先运算出来,不必等到运行程序时再执行。

⑥复写传播:某些变量的值并未被改变,便赋给其他变量,那么可直接引用原值本身。

⑦删除无用赋值:有些变量在赋值后并未引用,却又被重新赋值了,称为无用赋值〔前面的赋值〕;3、优化分类;4、优化技术简介

1.删除多余运算

2.循环不变代码外提

3.强度削弱

4.变换循环控制条件

5.合并量与复写传播

6.删除无用赋值

例:

P:=0

forI:=1to20do

P:=P+A[I]*B[I];(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)ifI=20goto(3);;;;对程序以根本块为范围来讨论的优化,称为局部优化。

根本块:指程序中一顺序执行的语句序列,它只有一个入口语句和一个出口语句。

根本块的入口语句:

1.程序的第一个语句;或者,

2.条件转移语句或无条件转移语句的转移目标语句;或者

3.紧跟在条件转移语句后面的语句。;根本块的划分

1、求根本块入口语句

2、寻找根本块

⑴从入口语句到下一入口语句〔不包括该入口〕;

⑵从入口语句到下一转移语句〔包括转移语句〕;

⑶从入口语句到下一停止语句〔包括该停止语句〕。

3、根本块的整理

程序中所有根本块之外的语句为无用语句,应

删除。

根本块优化

在一个根本块内通常可实行三种优化:合并

量、删除无用赋值〔难判断〕以及删除多余运算。;例:

(1)read(C)

(2)A:=0

(3)B:=1

(4)L1:A:=A+B

(5)ifB=CgotoL2

(6)B:=B+1

(7)gotoL1

(8)L2:write(A)

(9)halt;2025/3/19;

根本块的DAG表示及其应用

;用;2025/3/19;2025/3/19;2025/3/19;例:;2025/3/19;2025/3/19;2025/3/19;2025/3/19;2025/3/19;2025/3/19;2025/3/19;2025/3/19;2025/3/19;控制流程图;2025/3/19;2025/3/19;2025/3/19;2025/3/19;;;循环的查找;8.4数据流分析;活泼变量的数据流分析;;;提取Def和LiveUse集合;从最后一个根本块开始由后往前计算,可以得到一定的解

LiveIn(B)=LiveUse(B)∪(LiveOut(B)-Def(B))

LiveOut(B)=∪LiveIn(i)i∈s(B);分析程序中所有变量的定值和引用之间的关系;2025/3/19;GEN;2025/3/19;2025/3/19;;2025/3/19;1;2025/3/19;B;B;当把循环中的不变运算s:A:=BopC外提时注意:;数据流问题的讨论合流问题;数据流问题的讨论路径问题;数据流问题的解不一定唯一;;例如,下面解是满足数据流方程的:

文档评论(0)

147****4268 + 关注
实名认证
文档贡献者

认真 负责 是我的态度

1亿VIP精品文档

相关文档