2016-04-26 21 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