- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本块 DAG 表示的构造 n8 n6 n5 n7 n1 n2 n3 n4 3.14 T0 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 6.28 T1, T3 R0 r0 + T2,T4 * A, T5 - T6 * B 基本块的 DAG 表示 举例 从基本块的 DAG 表示可得到等价的基本块 举例:从下图的 DAG 可得到右边的新的基本块 (经拓扑排序及添加适当的复写语句) n8 n6 n5 n7 n1 n2 n3 n4 3.14 T0 T0:=3.14 T1:=6.28 T3:=6.28 T2:=R+r T4:=T2 A:=6.28*T2 T5:=A T6:=R-r B:=A*T6 6.28 T1, T3 R0 r0 + T2,T4 * A, T5 - T6 * B 基本块的 DAG 表示 从基本块的 DAG 表示可得到等价的基本块 比较变换前后的基本块 T0:=3.14 T1:=6.28 T3:=6.28 T2:=R+r T4:=T2 A:=6.28*T2 T5:=A T6:=R-r B:=A*T6 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 所作的优化 合并已知量 删除多余运算 删除无用赋值 基本块的 DAG 表示 目标代码生成技术 代码生成要考虑的主要问题 一个简单的代码生成算法 由上述算法从 DAG 生成代码 简单的图着色物理寄存器分配算法 代码生成要考虑的主要问题 指令选择 目标机指令集的性质和中间代码的形式决定 指令选择的难易 寄存器分配 充分、高效地使用寄存器 指令调度 选择好计算的次序,充分利用目标机的特点 目标代码生成技术 指令选择 任务 为每条中间语言语句选择恰当的目标机指令或指令序列 原则 首先要保证语义的一致性;若目标机指令系统比较完 备,为中间语言语句找到语义一致的指令序列模板是 很直接的(不必考虑执行效率的情形下) 其次要权衡所生成代码的效率(考虑时间/空间代价) 这一点较难做到,因为执行效率往往与该语句的上下 文以及目标机体系结构(如流水线)有关 目标代码生成技术 指令选择举例 为TAC 语句选择指令模板 假设一个目标机指令系统(龙书中一个简单汇编语言) 例 TAC 语句 a:=b+c 可转换为如下代码序列 MOV b, R0 /* b 装入寄存器 R0 */ ADD c, R0 /* c 加到 R0 */ MOV R0, a /* 存 R0 到 a */ (其他算术和逻辑运算的TAC 语句与此类似,只是选 择不同的目标指令,如减运算选择指令“SUB”,… ) 目标代码生成技术 指令选择 选择指令模板时可考虑指令的代价(cost) 如:不同的寻址方式会得到不同代价的指令 例 规定与寻址方式有关的指令代价为 寻址方式 汇编格式 寻址结果 附加的代价 绝对寻址 M M 1 寄存器寻址 R R 0 变址寻址 c(R) c+contents(R) 1 间接寻址 *R contents(R) 0 间接变址寻址 *c(R) contents(c+contents(R)) 1 目标代码生成技术 指令选择 选择指令模板时可考虑指令的代价(cost) 例 TAC 语句 a:=b+c 的几种转换方式 (1)MOV b, R0 A
您可能关注的文档
- 财政学 谭建立 昝志宏 11新.ppt
- 财政学 谭建立 昝志宏 12新.ppt
- 财政学 唐祥来 康锋莉 01新.ppt
- 财政学 唐祥来 康锋莉 03新.ppt
- 财政学 唐祥来 康锋莉 05新.ppt
- 财政学 唐祥来 康锋莉 06新.ppt
- 财政学 唐祥来 康锋莉 07新.ppt
- 财政学 唐祥来 康锋莉 08新.ppt
- 财政学 唐祥来 康锋莉 09新.ppt
- 财政学 唐祥来 康锋莉 10新.ppt
- 编译原理 王生原 董渊 杨萍 张素琴 宁夏银川编译原理专题交流新.ppt
- 编译原理——编译程序构造实践教程 张幸儿 戴新宇 101编译程序构造与实践教程第一章新.ppt
- 编译原理——编译程序构造实践教程 张幸儿 戴新宇 201编译程序构造与实践教程第二章新.ppt
- 编译原理——编译程序构造实践教程 张幸儿 戴新宇 202编译程序构造与实践教程第二章新.ppt
- 编译原理——编译程序构造实践教程 张幸儿 戴新宇 301编译程序构造与实践教程第三章新.ppt
- 编译原理——编译程序构造实践教程 张幸儿 戴新宇 401编译程序构造与实践教程第四章新.ppt
- 编译原理——编译程序构造实践教程 张幸儿 戴新宇 601编译程序构造与实践教程第六章新.ppt
- 编译原理——编译程序构造实践教程 张幸儿 戴新宇 602编译程序构造与实践教程第六章新.ppt
- 编译原理——编译程序构造实践教程 张幸儿 戴新宇 701编译程序构造与实践教程第七章新.ppt
- 编译原理——编译程序构造实践教程 张幸儿 戴新宇 801编译程序构造与实践教程第八章新.ppt
原创力文档


文档评论(0)