- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理chapter10 -11(2016.06.27)课件
Chapter10 优化;10.1 概述;优化主要为两类:;10.1 概述;例: void quicksort(int m,int n)
{ i=m-1;j=n;v=a[n];
while (1) {
do i=i+1; while (a[i]v);
do j=j-1; while (a[j]v);
if (i=j) break;
x=a[i]; a[i]=a[j]; a[j]=x;
}
x=a[i]; a[i]=a[n]; a[n]=x;
quicksort(m,j);
quicksort(i+1,n);
};快速排序;i=m-1; j=n ;
T1=4*n; v=a[T1];;1. 删除公共子表达式(多余运算);2. 复写传播;3. 删除无用代码;4. 代码外提;6. 删除归纳变量;经前述各种优化处理后,最终的中间代码如下:;1. 删除公共子表达式(多余运算);10.2 局部优化;②对以上入口语句,构造其所属的基本块:
此入口语句到下一条入口语句前,或下一条跳转
语句前,或一条停语句前的语句序列组成一个基本块。;例: (5) x=y
(1) read x (6) y=R
(2) read y (7) goto (3)
(3) R=x%y (8) write y
(4) if R=0 goto (8) (9) halt ;对基本块内的语句可以进行如下一些优化变换:;2. 基本块的DAG表示及其应用;构造基本块的DAG的算法:;2型:A=B OP C 或 A=B[C]
1.NODE(B)无定义,则构造叶结点B;
NODE(C)无定义,则构造叶结点C;
2.若B,C均为常数,则计算B OP C= P, 若NODE(P)无
定义,则构造叶结点n, NODE(P)=n, 执行0型2。
3.若B,C不是常数,查有无 B OP C 子树:
有:设 NODE(OP)=n, 执行0型2;
无:构造n结点OP, 执行0型2 。;(0) A:=B;(3) A:=B[C];例: T0=3.14
T1=2*T0
T2=R+r
A=T1*T2
B=A
T3=2*T0
T4=R+r
T5=T3*T4
T6=R-r
B=T5*T6
;假设T0--T6在基本块后不再使用,即可删除对其的赋值,
得到如下代码:;例题(自学);;;10.3 循环优化
对循环中的代码可以实行代码外提、强度削弱和删除归纳变量等优化。
1.代码外提
循环中的代码要随着循环反复执行,但其中某些运算的结果并不因循环而改变,对于这种不随循环变化的运算,可以将其外提到循环外。这样,程序的运行结果仍保持不变,但程序的运行效率却提高了。我们称这种优化为代码外提。
; 实行代码外提时,在循环入口结点前面建立一个新结点(基本块),称为循环的前置结点。循环前置结点以循环入口结点为其唯一后继,原来流图中从循环外引到循环入口结点的有向边改成引到循环前置结点,如图10.10所示。
因为在我们所定义的循环结构中,其入口结点是唯一的,所以前置结点也是唯一的。循环中外提的代码将统统外提到前置结点中。
;;但是,循环中的不变运算并不是在任何情况下都可以外提的;对循环L中的不变运算:
S:A=B op C或A= op B或A=B,要求满足下述条件(A在离开循环L后仍是活跃的):
(1) S所在的结点是循环L的所有出口结点的必经结点;
(2) ?A在循环L中其它地方未再定值;
(3) ?循环L中的所有A的引用点只有S中A的定值才能到达。
例 p288-289 图10.11-14。
;Chapter11 目标代码生成;11.1 基本问题;编译前端;基本问题;例 现有赋值语句: A:=(B+C)*D+E
其对应的中间码: T1:=B+C
T2:=T1*D
A:=T2+E
; 为此,我们引进 “待用信息”、“寄存器描述数组”、
“变量地址描述数组”等数据结构,记录所需信息。;第十二章 并行编译基础 ;并行编译器的组成及任务;并行与分布计算技术是实现高性能计算的重要技术途径。高性能计算机技术是现代科学研究、工程技术开发和大规模
您可能关注的文档
- 第六章 外汇市场1课件.ppt
- 第8章EPC基础知识课件.ppt
- 第8章存储过程课件.ppt
- 第8章第2部分啊啊啊课件.ppt
- 第8章电波传播基本理论课件.ppt
- 第8章第2节课件.ppt
- 第8章-STC11F定时器计数器课件.ppt
- U2P4 Listening exercise课件.ppt
- U3升级A6基本流程手册课件.ppt
- 第8章-企业发展能力分析课件.ppt
- 编译原理第9章课件.ppt
- Unit1 Where did you go on vacation?SectionB 1a--2b课件.ppt
- unit1 B 1A-2E课件.ppt
- Unit 9 Have you ever been to amusement park Section A课件.ppt
- 编译原理简明教程(第2版)[冯秀芳,崔冬华,段富][电子教案] 第12章课件.ppt
- 财产保险第一第二章课件.ppt
- unit1 Where did you go on vacation写作课件.ppt
- 便携式普通焊钳培训资料2012.11.19.10.38课件.ppt
- 标注基本体尺寸课件.ppt
- 变电站主接线图(非常好)课件.ppt
最近下载
- 1-1运动的描述(解析版)—2024高考物理一轮复习100考点100讲.docx VIP
- 人教版五年级下册数学期末卷及参考答案(综合题).docx VIP
- 1-2匀变速直线运动规律(解析版)—2024高考物理一轮复习100考点100讲.docx VIP
- 铜合金熔炼-熔炼设备与操作.pptx VIP
- 2-4动态平衡与极值(解析版)—2024高考物理一轮复习100考点100讲.docx VIP
- 人教版数学三升四暑假作业每日一练(共40天).docx VIP
- 给水排水工程顶管技术规程CECS_246:2008.pdf VIP
- 【27页PPT】基于大数据的数据挖掘数据中台数据安全架构设计方案.pptx VIP
- 青少年礼仪礼节.ppt VIP
- 施工质量保证措施方案.doc VIP
文档评论(0)