2 基本块和控制流图
基本块
-
是连续的语句序列
-
控制流从它的开始进入 —— 单一入口
-
控制流从它的末尾离开 —— 单一出口
-
基本块内部的执行没有停止或分支的可能性
外部:遇到基本块末尾进入下一个块除外
基本块的划分方法
确定所有入口语句
- 语句序列的第一个语句
- 能由(无)条件转移语句转到的语句
- 紧跟在(无)条件转移语句转到的语句
每个入口语句到下一个入口语句之前(或到程序结束)的语句序列构成一个基本块
例子:

流图
- 用有向边表示基本块之间的控制流信息
- 基本块作为流图的结点
例子:

转化成 SSA 格式:
- 不同块中对 i 有不同的定值,来自不同控制流
