编译技术作者陈文宇06课件.pptVIP

  • 2
  • 0
  • 约5.74千字
  • 约 38页
  • 2016-12-25 发布于广东
  • 举报
优化的概念 1. 优化是一种等价的,有效的程序变换。 等价 —— 不改变程序运行结果 有效 —— 时空效率要高 2. 不同阶段的优化 源程序阶段的优化:考虑数据结构和算法 编译阶段的优化:中间代码优化和目标代码优化 3. 中间代码的优化 局部优化:在基本块内的优化 全局优化:在基本块之间的优化 基本块 基本块的定义 程序中的一段语句序列,它只有一个入口语句,即该语句序列的第一个语句;只有一个出口语句,即该语句序列的最后一个语句。 划分基本块 1. 入口语句 (1) 程序的第一条语句 (2) 能由转向语句(条件或无条件)转移到的语句 (3) 紧跟在条件语句后的语句 2. 出口语句 (1) 转向语句 (2) 停止语句 划分基本块 3. 划分基本块的算法 (1) 求出三地址码中的所有入口语句和出口语句 (2) 划分基本块: 入口语句 入口语句 …… …… 入口语句 出口语句 (3) 删除未被划入基本块的语句 程序流图 程序流图是程序结构的图形表示。程序流图可定义为G = ( N , E , n0),其中: (1) N为结点的集合,每个结点代表一个基本块 (2) 含程序第一条语句的基本块为首结点n0 (3) E为有向边的集合,基本块Bi与Bj之间有一条有向边的条件是: Bj 紧跟在 Bi 之后,且 Bi 的出口语句不是无条件转向或停止语句。 Bi 的

文档评论(0)

1亿VIP精品文档

相关文档