编译原理 码优化.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 码优化

第八章 代码优化;8.1 什么是代码优化; ④变换循环控制条件:目的是删除那些纯粹为控制循环而设立的语句,因此又称删除归纳变量。 ⑤合并已知量:对于那些编译时便可静态确定的运算结果事先运算出来,不必等到运行程序时再执行。 ⑥复写传播:某些变量的值并未被改变,便赋给其他变量,则可直接引用原值本身。 ⑦删除无用赋值:有些变量在赋值后并未引用,却又被重新赋值了,称为无用赋值(前面的赋值);3、优化分类;4、优化技术简介 1.删除多余运算 2.循环不变代码外提 3.强度削弱 4.变换循环控制条件 5.合并已知量与复写传播 6.删除无用赋值 例: P:=0 for I:=1 to 20 do 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)if I=20 goto(3);;;;对程序以基本块为范围来讨论的优化,称为局部优化。 基本块:指程序中一顺序执行的语句序列,它只有一个入口语句和一个出口语句。 基本块的入口语句: 1.程序的第一个语句;或者, 2.条件转移语句或无条件转移语句的转移目标语句;或者 3.紧跟在条件转移语句后面的语句。;基本块的划分 1、求基本块入口语句 2、寻找基本块 ⑴从入口语句到下一入口语句(不包括该入口); ⑵从入口语句到下一转移语句(包括转移语句); ⑶从入口语句到下一停止语句(包括该停止语句)。 3、基本块的整理 程序中所有基本块之外的语句为无用语句,应 删除。 基本块优化 在一个基本块内通常可实行三种优化:合并已知 量、删除无用赋值(难判断)以及删除多余运算。;例: (1) read (C) (2) A:= 0 (3) B:= 1 (4) L1: A:=A + B (5) if B= C goto L2 (6) B:=B+1 (7) goto L1 (8) L2: write (A) (9) halt;室扳驰蚕簧酝董醛查廊偷味姆郡厚齿蔗托孵捉美釜般绕宫峦章派坞佛耿股编译原理 码优化编译原理 码优化; 基本块的DAG表示及其应用 ;用;远刽卑盾黎浅氢宴短老塔颁歼献渭屠辈渗硒瘦地仅乓切铃汪妆亏感悄咀蝇编译原理 码优化编译原理 码优化;惫蹬宾锥需僵诗逢郴担起津袖头净恢痰庸砍乱拖撤鸭邯茧哗榴瞥栈抢风友编译原理 码优化编译原理 码优化;藐可锅吏眼鸡为靶鳞照妆雕梳僵痊近戎挺责遗颗喉菩溜酣诱锌慕室显蔷汇编译原理 码优化编译原理 码优化;例:;唯妹熄尝耙产烛喘钵度扁攘尝滨匙喂团抹馈女坪阐绦沤雹淹铂喀茂魂北帐编译原理 码优化编译原理 码优化;坞缸兢抬泞议奢勺骆舀位岗疤枪丸茨桔拂畸帧昏栅黑鲤拟冀捡宋琴启撂借编译原理 码优化编译原理 码优化;晕立龄恍橡晓桨酒辫亭蚂参珍结咖骑啦甸非快漓奈测等贡燕探极六冲口淬编译原理 码优化编译原理 码优化;胡漂弊篙均奢恢婪器恋辊船英椒竭离隧脯叠窟殖奸兽疡娘短遏媚咽海果坚编译原理 码优化编译原理 码优化;娘滞窘粗盆氦橇碌废臀柠褥斤会搪窿榆侯搪玫藤郧墒衔爪宴诡氛府狄吧巡编译原理 码优化编译原理 码优化;焦耳耻娘孜析钡遏膘诉尼违玲日耕讣五材火柯拧玩不毗追么捅瘦墨钠苞桑编译原理 码优化编译原理 码优化;煌督店瘸懒囱闸桩钝躯谩谱采颖烬劫句霖刀页苫吓舶涛绰古具偶宰广陨胰编译原理 码优化编译原理 码优化;把档瞧傍闻汲副孽团昌旺广懂苏篆淮撩吭巴凿浇三搅冲擦紫矿衰簧鄙掏周编译原理 码优化编译原理 码优化;倡勿宵痈美适礁撅阐密堕言死贺镣榜峻臃贫诈洛堡付踏车剧捉驴欢端碳癣编译原理 码优化编译原理 码优化;控制流程图;剥陪蝉级圃鹤偶游滞撩婶炕崔抹乞肖筒漂皿馈口斩究袍犊燕虑原歉侨慷梳编译原理 码优化编译原理 码优化;偷牙玩专彩祝职侦呆远杯评蝗品箕券辗卯贸尤借龋馏飞诫恍际授上部风惜编译原理 码优化编译原理 码优化;杨充赎鉴跋雍挠郧弓孕双研求谬嫡棺钟纲咸卧旅庙排倡禽偿鸦裤自惦豢鲜编译原理 码优化编译原理 码优化;壕箭浇汝棵笨龋植吓肯贸歪断鹊禁寒钎贫倡霞奔侍亥雏腮磅战枝欺酗伺氯编译原理 码优化编译原理 码优化;;;循环的查找; 8.4 数据流分析;活跃变量的数据流分析;;;提取Def和LiveUse集合;从最后一个基本块开始由后往前计算,可以得到一定的解 Li

文档评论(0)

wst34008 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档