第八章代码生成内容摘要:
用的话 , 我们说这个名字在该点是 活跃 的 • 基本块的等价 – 两个基本块计算一组同样的表达式 – 这些表达式的值分别代表同样的活跃名字的值 • 有很多等价变换可用于基本块 – 局部变换 – 全局变换 基本块和流图 • 删除局部公共子表达式 a := b + c a := b + c b := a d b := a d c := b + c c := b + c d := a d d := b • 删除死代码 定值 x := y + z以后不再引用 , 则称 x为死变量 基本块和流图 • 交换相邻的独立语句 t1 := b + c t2 := x + y t2 := x + y t1 := b + c 当且仅当 x和 y都不是 t1, b和 c都不是 t2 • 代数变换 x := x + 0 可以删除 x := x * 1 可以删除 x := y **2 改成 x := y * y 基本块和流图 流图 把控制流信息加到基本块集合 , 形成一个有向图来表示程序 首结点 、 前 驱 、 后继 基本块和流图 • 什么是循环 ? – 所有结点是 强连通 的 – 唯一的循环 入口 • 外循环和内循环 prod := 0 i := 1 t1 := 4* i t2:= a[t1] t3 := 4* I t4 := b[t3] t5 := t2 * t4 t6 := prod + t5 prod := t6 t7 := i +1 i := t7 if i = 20 goto B2 B1 B2 基本块和流图 下次引用信息 为每个三地址语句 x := y op z决定 x、 y和 z的下次引用信息 i: x := y op z . . . 没有对 x的赋值 j: … := x … . . . 没有对 x的赋值 k: … := … x 基本块和流图 下次引用信息 为每个三地址语句 x := y op z决定 x、 y和 z的下次引用信息 i: x := y op z . . . 没有对 x的赋值 j: … := x … . . . 没有对 x的赋值 k: … := … x 基本块和流图 • 对每个基本块从最后一个语句反向扫描到第一个语句 ,可以得到下次引用信息 i: x := y op z . . . 没有对 x的赋值 j: … := x … . . . 没有对 x的赋值 k: … := … x 基本块和流图 • 对每个基本块从最后一个语句反向扫描到第一个语句 ,可以得到下次引用信息 i: x := y op z . . . 没有对 x的赋值 j: … := x … . . . 没有对 x的赋值 k: … := … x • 利用下次引用信息 , 可以压缩临时变量需要的空间 一个简单的代码生成器 • 依次考虑基本块的每个语句 , 为其产生代码 • 假定三地址语句的每种算符都有对应的目标机器算符 • 假定计算结果留在寄存器中尽可能长的时间 , 除非: – 该寄存器要用于其它计算 , 或者 – 到基本块结束 一个简单的代码生成器 在没有收集全局信息 前 , 暂且以基本块为 单位来生成代码 prod := 0 i := 1 t1 := 4* i t2:= a[t1] t3 := 4* I t4 := b[t3] t5 := t2 * t4 t6 := prod + t5 prod := t6 t7 := i +1 i := t7 if i = 20 goto B2 B1 B2 一个简单的。第八章代码生成
相关推荐
品学兼优、全面发展的好学生。 但她就是很少和男生交往,不得不和男生打交道时,也往往采用最简洁的语言。 在她看来,男女生应该规规矩矩,彼此不相来往,否则就是“不正经”。 晨晨的学习成绩一直在班里是数一数二的,而且她人长得很漂亮,弹得一手好钢琴,画一手好画,从小就在青少年宫学舞蹈。 可以说,她是一个品学兼优、全面发展的好学生。 但她就是很少和男生交往,不得不和男生打交道时,也往往采用最简洁的语言。
程序映像文件。 Xilkernel负责 MicroBlaze和 PowerPC处理器第一级 中断和异常处理。 因此,设计人员不能直接处理中断。 而 在用户级上处理异常和中断; 使用最终的与核连接的软件应用工程的连接脚本特 性来控制核的存储器映射,可以使用自动的脚本产生来帮 助设计。 建立 Xilkernel应用程序 应用程序必须提供 main(),这是核映像文件中的执 行的开始点。 在
即: BCF = Cb/Ce 式中: BCF: 生物浓缩系数 Cb: 某种元素或难降解物质在机体中的浓度 Ce: 某种元素或难降解物质在机体周围环境中的浓度。 12 污染物质的生物富集、放大和积累 生物放大 同一食物链的高营养级生物,通过吞食低营养级生物蓄积某种元素或难降解物质,使其机体内的浓度随营养级数提高而增大的现象。 生物放大的程度用生物浓缩系数表示。 生物积累 生物从周围环境 (水 、
—— SCP控制 SSOP 计划 ( 1) 加工步骤 ( 2) 确定本步引入、控制或增加的危害 ( 3) 潜在的食品安全危害显著吗。 ( 4) 说明对第 3栏的判断依据 ( 5) 应用什么预防措施来防止危害。 ( 6) 本步骤是关键控制点吗。 危害分析表 确定关键控制点 (CCP)(原理二) 关键控制点: 能实施控制,从而对食品安全的危害加以预防、消除或把其降低到可接受水平的加工点、步骤或工序。