第12章 代码生成ppt课件.ppt
《第12章 代码生成ppt课件.ppt》由会员分享,可在线阅读,更多相关《第12章 代码生成ppt课件.ppt(28页珍藏版)》请在三一办公上搜索。
1、第十二章 代码生成,12.1 代码生成概述12.2 一个简单的代码生成程序12.3 几种常用的代码生成程序的开发方法12.4 全局寄存器分配12.5 代码生成程序的自动化构造,12.1 代码生成概述,12.1.1 目标代码的三种形式:能够立即执行的机器语言代码,所有地址均已定位;待装配的机器代码模块,当需要执行时,由连接装入程序把它们和某些运行程序连接起来,转换成能执行的机器语言代码;汇编语言代码,需经过汇编程序汇编,转换成可立即执行的机器语言代码。,12.1.2 代码生成要考虑的主要问题,具体细节依赖于目标机器和操作系统,(1)代码生成程序的输入 线性表示、三地址表示、图形表示(2)计算机指
2、令的选择 x:=y+z LD R0,y ADD R0,z ST R0,x a:=a+1 INC a(3)充分利用寄存器(寄存器分配)(4)选择计算次序(指令调度),12.2 简单的代码生成程序,12.2.1 计算机模型机器指令形式 指令意义op Ri,M(Ri)op(M)=Riop Ri,Rj(Ri)op(Rj)=Riop Ri,c(Rj)(Ri)op(Rj)+c)=Riop Ri,*M(Ri)op(M)=Riop Ri,*Rj(Ri)op(Rj)=Riop Ri,c*(Rj)(Ri)op(Rj)+c)=Ri机器指令开销(cost)op R,M 开销 2op Ri,Rj 开销 1op Ri,*
3、M 开销 3,目标机器的地址方式,12.2.2 待用信息链法,在一个基本块范围内考虑如何充分利用寄存器的问题:,l,尽可能地让该变量的值保留在寄存器中,l,尽可能引用变量在寄存器中的值,待用信息:若在一个基本块中,变量,A,在四元式,i,中被定,值,在,i,后面的四元式,j,中要引用,A,值,且从,i,到,j,之间没有其,它对,A,的定值点,这时我们称,j,是四元式,i,中对变量,A,的待用,信息或称下次引用信息,同时也称,A,是活跃的,若,A,被多次,引用则可构成待用信息链与活跃信息链。,可从基本块的出口由后向前扫描,对每个变量建立相应的待用,信息链和活跃变量信息链。,计算待用信息的算法:,
4、(1)符号表中增加“待用信息”栏和“活跃信息”栏:对各基本块的符号表中的“待用信息”栏和“活跃信息”栏置初值,即把“待用信息”栏置“非待用”,对“活跃信息”栏按在基本块出口处是否为活跃而置成“活跃”或“非活跃”。这里假定变量都是活跃的,临时变量都是非活跃的。,(2)从基本块出口到基本块入口由后向前依次处理每个四元式。对每个四元式i:A:=B op C,依次执行下述步骤:,a,),把符号表中变量,A,的待用信息和活跃信息附加到四元式,i,上。,b,),把符号表中变量,A,的待用信息栏和活跃信息栏分别置为,“非待用”和,“非活跃”。,(由于在,i,中对,A,的定值只能,在,i,以后的四元式才能引用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第12章 代码生成ppt课件 12 代码 生成 ppt 课件

链接地址:https://www.31ppt.com/p-2132866.html