基于时序逻辑CTL(computation tree logic)的一种扩展CTL-FV对优化编译中的语句交换和变量替换这两种常见变换的保义性条件给出了形式刻画,采用含条件重写规则定义了保义语句交换 Texch和保义变量替换 Texch并基于一种归纳证明框架对它们的保义性进行了证明.此外,基于变换‰对程序基本块内保依赖语句重排的保义性也给出了一种构造性的证明.
Two kinds of program transformations widely-used in optimizing compilation, statement exchange and variable substitution, are investigated and their soundness conditions are formally defined with CTL-FV, an extension of the temporal logic CTL (computation tree logic). Sound statement exchange Texch and sound variable substitution Texch are defined with conditioned rewriting rules and their soundness is proved under an inductive proof frame. In addition, based on Texch, the soundess of another transformation, dependence-preserving statement reordering inside basic blocks of programs, is also proved with a constructive method.