读《编译原理》第九章,机器无关优化

来源:互联网 发布:kiel 软件 编辑:程序博客网 时间:2024/06/18 10:17
374/631
本章内容:代码改进,代码优化,全局的代码优化。
局部代码优化,在8.5节有介绍。
全局优化许多是基于数据流分析技术。

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