トップQs
タイムライン
チャット
視点

疎な条件分岐を考慮した定数伝播

ウィキペディアから

Remove ads

疎な条件分岐を考慮した定数伝播: Sparse conditional constant propagation)とは、計算機科学におけるコンパイラ最適化手法の一つで、静的単一代入(SSA)形式に変換した後に適用されることが多い。

この手法は、プログラム全体に対してある種のデッドコードの除去と、定数畳み込みを同時に実施する。重複の回数によらず、単純なデッドコード削除と定数畳み込みより強力な方法である[1][2]

アルゴリズムはSSA形式のコードに抽象解釈を実施することにより働く。抽象解釈を実施する間、典型的には、値に対応する定数の値と定数のフラットなと、束に対する大域的な SSA 変数と値の割り当てを用いる。アルゴリズムの最重要な点は分岐命令をどのように扱うかにある。分岐命令に遭遇すると、抽象化された値を、可能な限り正確に条件の変数に割り当てるようにする。

値が完全に正確で、抽象解釈で分岐のどちらに進むかが決定できる場合もある。値が定数ではない場合、あるいは条件文における変数が未定義の場合、保守的にいずれの分岐方向も残される。

抽象解釈が完了すると、到達しない命令はデッドコードとされる。定数であることが判明した SSA 変数は使用される箇所でインライン展開(伝播)される。

Remove ads

脚注

参考文献

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads