- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第五章目标代码生成
提纲
◼代码生成概要
◼指令集架构
◼基本块与流图
◼指令选择算法
◼寄存器分配算法
◼窥孔优化
◼代码生成器构建
代码生成器的位置
•根据中间表示生成代码
•代码生成器之前可能有一个优化组件
•代码生成器的三个主要任务
–指令选择:选择适当的指令实现IR语句
–寄存器分配和指派:把哪个值放在哪个寄存器中
–指令排序:按照什么顺序安排指令执行
代码生成器中的问题
◼正确性、易于实现、测试和维护
◼输入IR的选择
四元式、三元式、字节代码、堆栈机代码、后缀表示、
抽象语法树、DAG、…
◼目标程序
RISC、CISC、可重定向代码、汇编语言、堆栈机
◼指令选择
影响因素:IR层次、指令集特性、目标代码质量
◼寄存器分配和指派
◼求值顺序
提纲
◼代码生成概要
◼指令集架构
◼基本块与流图
◼指令选择算法
◼寄存器分配算法
◼窥孔优化
◼代码生成器构建
目标语言
◼三地址机器的模型
目标语言
◼三地址机器的模型
◼指令集
加载:LDdst,addr
◼把地址addr中的内容加载到dst所指寄存器
保存:STx,r
◼把寄存器r中的内容保存到x中
目标语言
◼三地址机器的模型
◼指令集
加载:LDdst,addr
◼把地址addr中的内容加载到dst所指寄存器
保存:STx,r
◼把寄存器r中的内容保存到x中
计算:OPdst,src1,src2
◼把src1和scr2中的值运算后将结果存放到dst中
无条件跳转:BRL
◼控制流转向标号L的指令
条件跳转:Bcondr,L
◼对r中的值进行测试,如果为真则转向L
提纲
◼代码生成概要
◼指令集架构
◼基本块与流图
◼指令选择算法
◼寄存器分配算法
◼窥孔优化
◼代码生成器构建
基本块和流图
◼中间代码的流图表示法
中间代码划分成为基本块(basicblock)
◼控制流只能从第一个指令进入
◼除基本块的最后一个指令外,控制流不会跳转/停机
结点:基本块
边:指明了基本块的执行顺序
◼流图可以作为优化的基础
指出了基本块之间的控制流
可以根据流图了解到一个值是否会被使用等信息
划分基本块的算法
◼输入:三地址指令序列
◼输出:基本块的列表
◼方法:
确定基本块的首指令
◼第一个三地址指令
◼任意一个条件或无条件转移指令的目标指令
◼紧跟在一个条件/无条件转移指令之后的指令
确定基本块
◼每个首指令对应于一个基本块:从首指令开始到下一
个首指令
基本块划分的例子
◼第一个指令
1
◼跳转指令的目标
3、2、13
◼跳转指令的下一条指令
10、12
◼基本块:
1-1;2-2;3-9;10-11;
12-12;13-17
练习
(1)b=1
(2)n=10
(3)d=l+n
(4)c=2
(5
您可能关注的文档
- Python程序设计基础-教案.docx
- Python程序设计基础-教学日历.doc
- Python程序设计基础课后习题答案.docx
- Python程序设计基础-教学课件 第1章 Python语言概述.pptx
- Python程序设计基础-教学课件 第2章 基础语法.pptx
- Python程序设计基础-教学课件 第3章 程序控制结构.pptx
- Python程序设计基础-教学课件 第4章 组合数据类型.pptx
- Python程序设计基础-教学课件 第5章 字符串.pptx
- Python程序设计基础-教学课件 第6章 函数.pptx
- Python程序设计基础-教学课件 第7章 文件和异常处理.pptx
- 【东兴证券-2025研报】东兴证券晨报.pdf
- 【东方证券-2025研报】学大教育(000526):传统高中教培稳健,职业教育打造第二增长曲线.pdf
- 【华创证券-2025研报】12月经济数据前瞻:政策效果初回顾:量升价落.pdf
- 【华西证券-2025研报】润本股份(603193):从投资角度看润本:七问七答.pdf
- 【华创证券-2025研报】华创医药投资观点、研究专题周周谈第109期全国中成药联盟集采开标.pdf
- 【南华期货-2025研报】南华商品指数日报.pdf
- 【国联证券-2025研报】地产行业2025年度投资策略:地产止跌企稳,估值修复可期.pdf
- 【冠通期货-2025研报】冠通每日交易策略.pdf
- 【华创证券-2025研报】化债区域观察系列之三:青甘宁化债效果及投资机会分析.pdf
- 【华西证券-2025研报】社服零售2025年度投资策略:景气拐点将现,破旧立新迎春来.pdf
文档评论(0)