8-1 流图
分析程序的控制流程
-
基本块:满足下列条件的最大的连续三地址指令序列:
(1)控制流只能从基本块的第一个指令进入该块。
(2)除了基本快的最后一个指令,控制流在离开基本块之前不会跳转或停机 -
基本块的划分算法:
输入:三地址指令序列
输出:对应的基本块划分
- 流图
流图的结点:一些基本块
基本块B到基本块C的边:当且仅当基本块C的第一个指令紧跟在B的最后一条指令之后执行
8-2 常用的代码优化方法
- 优化分类:机器无关优化 机器相关优化
- 删除公共子表达式
如果表达式 x op y 已被计算过,并且从先前的计算到现在, x op y 中变量值没有改变,那么 x op y 的这次出现叫做公共子表达式。
T7、T10可删除,注意将T6代替T7,T8代替T10可能出现在其他表达式中。