图5.38 分配律变化对应的控制数据流图结构


  利用结构变换缩短控制数据流图关键路径长度的一个例子示于图5.39。假设图中阴影部分为关键路径上的一段,加法操作和乘法操作均在一个控制步内完成。图5.39(a)中阴影部分的路径长度为3,而且无法直接缩短路径的长度。对其施加算术操作分配律正变换,其结果示于图5.39(b)。从图(b)中看出,在非关键路径上增加了一个乘法操作,并且加法操作和乘法操作的执行顺序发生了变化。由于加法操作和乘法操作的执行顺序发生了变化,为加法操作的结合律变换创造了条件,变换后的结果示于图5.39(c)。从图(c)中看出,关键路径的长度缩短为2。

图5.39 利用分配律变换进行控制数据流图结构变换


  图5.39所示例子说明利用结构变换可以缩短控制数据流图关键路径的长度。对于某一特定问题,结构变换是否可以带来好处要作具体分析。