1
對於我已經實現的理論研究,滿足所有路徑的恆定傳播。由於恆定傳播的格子是非分佈的,因此預計最大固定點計算和滿足所有路徑可能會給出不同的結果。任何人都可以提供這樣的示例程序。 Q2:還有一個程序,其中llvm中的稀疏條件常量傳播通過(-sccp)將無法檢測到常量。最大固定點失效的情況
對於我已經實現的理論研究,滿足所有路徑的恆定傳播。由於恆定傳播的格子是非分佈的,因此預計最大固定點計算和滿足所有路徑可能會給出不同的結果。任何人都可以提供這樣的示例程序。 Q2:還有一個程序,其中llvm中的稀疏條件常量傳播通過(-sccp)將無法檢測到常量。最大固定點失效的情況
從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
。