374/631
本章内容:代码改进,代码优化,全局的代码优化。
局部代码优化,在8.5节有介绍。
全局优化许多是基于数据流分析技术。
1,优化的主要来源
程序中有冗余,就有优化的东西。
冗余计算,程序员可能认为重复计算方便使用。
全局公共子表达式。
复制传播
死代码消除
代码移动
对于一个变量 X ,如果存在一个正的或负的常数 C 使得每次 X 被赋值时它的值总是增加 C ,那么 X 就称为“归纳变量”。
2,数据流分析简介
3,数据流分析基础
4,常量传播
常量折叠
常量传播是一个前向数据流的问题。
5,部分冗余消除
6,流图中的循环
支配结点
深度优先排序
深度优先生成树中的边
回边和可归约性
流图的深度
自然循环
迭代数据流算法的收敛速度
7,基于区域的分析
8,符号分析