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
の値は、2つの可能なパスからの結合であるため、1
であることがわかります。正式には、F(1) ⨆ F(-1) = 1 ⨆ 1 = 1
。