北京工业大学编译原理课件第九章 代码优化与代码生成.pptVIP

  • 21
  • 0
  • 约4.09千字
  • 约 26页
  • 2019-05-06 发布于广东
  • 举报

北京工业大学编译原理课件第九章 代码优化与代码生成.ppt

第9章 代码优化与 代码生成 主要内容 代码优化的任务 通过等价的程序变换,获得执行速度快、占用空间少的程序 代码生成的任务 针对目标语言的特殊性,生成高性能的目标代码(机器相关) 代码优化 算法优化 有效的数据结构和算法(领域问题) 编译优化 中间代码优化:机器无关 如:常数计算、公共代码段的提取 目标代码优化:机器相关 如:特殊指令、特殊结构 中间代码优化 局部优化 基本块内部(不包括各种转移控制) 全局优化 循环优化、控制流分析与化简、数据流分析 8.1 基本块和流图 基本块 控制流从第一语句进入,从最后一条语句离开 语句序列中间没有停止或分枝 关键:确定每个基本块的入口 基本块的划分 1) 定义入口语句 代码序列的第一语句 转移语句的目标语句 转移语句的下一条语句 2) 定义基本块 一入口语句到下一入口语句之前 一入口语句到转移语句或停语句 程序流图的构造 流图 G={N,E,n0 } N:基本块集 n0 :含首语句的基本块 E:有向边集合 A ? B A 的出口为转移语句,转向 B 的入口 B 紧跟 A 之后,且 A 的出口不是 goto 或 return 以基本块为结点,以控制流为有向边 例 8-1:基本块划分和流图 i = m - 1; j = n; v = a[ n ]; while( 1 ) { while( a[++i] v ); while( a[

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档