研究概要 |
平成22年度は,投機的な部分冗長除去(以降PREと呼ぶ),単一入口単一出口(以降SESEと呼ぶ)領域,プログラムスライシングを用いたマルチスレッド実行のそれぞれについて,従来法の問題点を整理し,要求駆動型PREと要求駆動型部分無用コード除去(以降PDEと呼ぶ)によるload/store命令の移動を,コンパイラ共通基盤COINS上で実現した.以降で,実現した要求駆動型PREと要求駆動型PDEについて詳しく述べる. 1. クエリ伝播に基づく要求駆動型PREの実現とload命令への適用 クエリ伝播に基づくPRE手法をループ内に存在する式についてだけ,投機的にループの外へ出せるように拡張するとともに,load命令にも適用できるように拡張した.本手法をCOINS上に実現し,SPECベンチマークで,その有効性を確認した. 2. クエリ伝播に基づく要求駆動型PDEの実現とstore命令への適用 クエリ伝播に基づくPDE手法を任意の代入文に適用できるように拡張し,要求駆動型PDEを実現した.さらに,従来最大解を求めるデータフロー解析を,最小解を求めるデータフロー解析と要求駆動型データフロー解析の組合せに置き換えることによって,任意のデータフロー解析を要求駆動型に変換できることを示した.また,要求駆動型PDEをstore命令に適用できるように拡張した.本手法をCOINS上に実現し,SPECベンチマークで,その有効性を確認した.
|