东北大学秦皇岛分校编译原理课件 第11章.pptVIP

  • 2
  • 0
  • 约小于1千字
  • 约 13页
  • 2018-06-06 发布于广东
  • 举报

东北大学秦皇岛分校编译原理课件 第11章.ppt

东北大学秦皇岛分校编译原理课件 第11章.ppt

第11章 代码优化 概述 局部优化 循环优化 全局优化 11.1 概述 代码优化的目的是提高最终代码的运行效率,包括: 时间效率——运行速度加快 空间效率——占用存储空间减少 代码优化的阶段: 中间代码的优化 目标代码的优化 代码优化的本质:等价变换 这里的等价是指功能上等价。 代码优化的分类 依据优化所涉及的程序范围,可将代码优化分为: 局部优化:基本块上进行的优化 循环优化:循环体内进行的优化 全局优化:整个程序范围内进行的优化 基本块与局部优化 所谓基本块,是指程序中一顺序执行的语句序列,其中只有一个入口和一个出口,入口就是其中第一个语句,出口就是其中最后一个语句。 一个给定的程序可以被划分成为一系列的基本块。在各个基本块范围内,分别进行优化。 局限于基本块范围内的优化称为局部优化。 划分基本块的算法 求出四元式程序中各个基本块的入口语句: 程序的第一个语句; 能由条件转移语句或无条件转移语句所到达的语句; 紧跟在条件转移语句后面的语句 对以上求出的每一入口语句,构造其所属的基本块: 由该入口语句到下一入口语句(不包括该入口语句)、或到一转移语句(包括该转移语句)、或到一停语句(包括该停语句)之间的语句序列组成的。 凡未被纳入某一基本块中的语句,都是程序中控制流无法到达的语句,从而也是不会被执行到的语句,可以将其从程序中删除。 基本块内可使用的三种优化技术 在

文档评论(0)

1亿VIP精品文档

相关文档