代码外提 减少循环中代码数目的一个重要办法是代码外提。前面已经介绍了一个代码外提的例子.这种变换把循环不变运算,即产生的结果独立于循环执行次数的表达式,放到循环的前面。这里,所讨论的循环只存在一个入口。实行代码外提时,在循环的入口结点前面建立一个新结点(基本块),称之为循环的前置结点。循环的前置结点以循环的入口结点为其唯一后继,原来流图中从循环外引到循环入口结点的有向边,改成引到循环前置结点,如图11.13所示:
图 11.13代码外提的流图