第一节 优化的概念

1.1 概念

优化是一种等价的,有效的程序变换

等价——不改变程序运行结果;
有效——提高程序的效率,包括时间效率和空间效率

优化的时间

编码阶段的优化:源代码优化(数据结构和算法)
编译阶段的优化:中间代码的优化,目标代码的优化

1.2 中间代码优化

局部优化:基本块内的优化
全局优化:基本块外的优化

基本块的定义

程序中的一段语句序列,它有一个唯一的入口语句,和一个唯一的出口语句。
基本块内的所有语句的执行次数都是相同的。

1.3 划分基本块

编译原理笔记【第九章 优化】
编译原理笔记【第九章 优化】

例子

编译原理笔记【第九章 优化】
编译原理笔记【第九章 优化】

1.4 程序流图

编译原理笔记【第九章 优化】

编译原理笔记【第九章 优化】

第二节 局部优化

局部优化就是在基本块内的优化,常用的方法包括
编译原理笔记【第九章 优化】
编译原理笔记【第九章 优化】

第三节 全局优化

全局优化实在基本块之间的优化,常用的方法包括
编译原理笔记【第九章 优化】

编译原理笔记【第九章 优化】
编译原理笔记【第九章 优化】
编译原理笔记【第九章 优化】

编译原理笔记【第九章 优化】

相关文章: