ZHCU820Y September 2004 – June 2021
编译器分析程序的分支行为并重新排列操作的线性序列(基本块),以去除分支或冗余条件。不可达代码被删除,分支到分支被绕过,无条件分支上的条件分支被简化为单个条件分支。
当在编译期间确定条件的值时(通过复制传播或其他数据流分析),编译器可以删除条件分支。切换实例列表的分析方式与条件分支相同,有时会完全消除此类列表。一些简单的控制流结构被简化为条件指令,完全消除了对分支的需求。