5L-1
スピルコストを考慮した部分冗長除去
○澄川靖信,滝本宗宏(東理大)
コンパイラのコード最適化の1つである部分冗長除去は,冗長な式の除去と,
ループ不変式のループ外への移動を同時に行う強力な手法である.
部分冗長除去は,一部の実行経路で冗長な式を,
すべての実行経路で冗長な式となるように,新しく式を挿入し冗長性を除去する.
式の挿入は,本来の実行点よりも早く実行されるプログラム点で行われるので,
変数の生存範囲を拡張する傾向にある.生存範囲の拡張は,
レジスタスピルを生じる機会を増加させ,実行効率が低減する場合がある.
本研究では,ループの外にある演算コストの低い式の冗長性を除去しないことによって,
レジスタスピルの増加を防ぐ手法を提案する.

footer 情報処理学会 セキュリティ プライバシーポリシー 倫理綱領 著作権について