2016-04-26 66 views
1

对于我已经实现的理论研究,满足所有路径的恒定传播。由于恒定传播的格子是非分布的,因此预计最大固定点计算和满足所有路径可能会给出不同的结果。任何人都可以提供这样的示例程序。 Q2:还有一个程序,其中llvm中的稀疏条件常量传播通过(-sccp)将无法检测到常量。最大固定点失效的情况

回答

2

here采取一个例子:

if (...) 
    x = 1; 
else 
    x = -1; 
y = x * x; 

随着不断传播方法中,x值不是if语句之后的常数。因此,y的值不是一个常数。形式上,如果F是最后一条语句的函数,我们有F(1 ⨆ -1) = F(⊤) = ⊤

使用MOP,y的值是来自两条可能路径的连接,因此已知为1。正式,F(1) ⨆ F(-1) = 1 ⨆ 1 = 1