辽宁大学_编译原理part9论述.ppt

第9章 代码优化与 目标代码生成(介绍) 引例 for i=1 to n step m do s[i]:=4*i+n*m 代码优化 代码优化的任务 通过等价的程序变换,获得执行速度快、占用空间少的程序 代码优化 for i=2 to 10000 do {T=0; for j=2 to i-1 do if i=i/j*j then{ T=1;break} if T=0 then print (i)} 上次课主要内容 ——符号表管理 关键字表 上次课主要内容 ——符号表管理 层次表 上次课主要内容 ——符号表管理 过程表 变量表 标号表 上次课主要内容 代码优化 通过等价变换,获得执行速度快、占用空间少的程序 算法优化 代码优化 编译优化 目标代码优化:机器相关 特殊指令的利用 特殊结构的高效利用:SIMD、MIDM、流水、向量机 中间代码优化:机器无关 如:常数计算、公共代码段的提取 中间代码优化 局部优化 基本块内部(不包括各种转移控制) 全局优化 循环优化、控制流分析与化简、数据流分析 9.1 基本块和流图 基本块 控制流从第一语句进入,从最后一条语句离开 语句序列中间没有停止或分枝 关键:确定每个基本块的入口 基本块的划分 1) 定义入口语句 代码序列的第一语句 转移语句的目标语句 转移语句的下一条语句 2) 定义基本块

文档评论(0)

1亿VIP精品文档

相关文档