稀疏有條件的常數傳播在電腦科學的領域,稀疏有條件的常數傳播(sparse conditional constant propagation)是一個优化的技術,常用在以静态单赋值形式(SSA)進行最佳化的編譯器,它可以移除程式中一些無用的程式碼以及進行常數傳播。然而,它比起死碼刪除以及常數傳播更加的強大。[1][2] 這個演算法在SSA中藉由實現程式碼的抽象释义來運作。在實現抽象釋義的過程中,它使用常數的格(Lattice)以及在全域環境對應SSA變數到這個格的數值,演算法的關鍵在於它如何處理分支指令的詮釋,當意外發生,分支的狀態盡可能評估最佳的方式,使綁定變數的抽象數值更加的精確。在需要數值要絕對精確的案例之下,抽象執行可以決定分支的方向。如果數值不是常數,或是一個變數在為定義的狀態,那麼兩個分支的方向必須都保留。 完成後的抽象表現,指令不會到達被標注為死碼的程式區段,SSA變數在常數會使用到的地方可能會以內連(inline)的方式實現。[比如?] 參考文獻
另見
|