研究概要 |
1.COINSコンパイラの最適化器の時相論理による生成 前年度に引き続き,COINSコンパイラの低水準中間表現に対し,時相論理CTL-FVを用いて最適化のパターンと変換を記述し,そこからCOINS上で動作する最適化器を生成する研究を行った.しかし,対象を無用コード除去とコピー伝播より広げることができなかった. 2.COINSコンパイラの最適化器の高度化 (1)ループにおける配列参照の一部をレジスタ(スカラー変数)に置き換えるスカラー置換を実装した. これにより,実行効率を上げることができた. (2)通常形式での部分冗長性除去(以下,PRE)のアルゴリズムは多数あるが,静的単一代入形式でのPREのアルゴリズムは複雑なものしか提案されていなかった.そこで,通常形式における任意のPREのアルゴリズムを静的単一代入形式におけるPREのアルゴリズムへ変換する汎用的な方法を開発した(文献1).(3)代入文ごとに適用できる部分無用コード除去を実現し,終了点に近い代入文から適用していくことによって,従来の部分無用コード除去1回のコストで,新たに生じる部分無用代入のほとんどを除去できることを示した(文献2). (4)同じ配列への参照を,コード移動に基づいて近傍に寄せることによって,キャッシュのヒット率を向上させる手法(以下,GLIA)を実現した.GLIAは,効果を生じないコード移動を避けることによって,新たに導入した一時変数がレジスタに割り付けられやすくする効果ももつ. (5)PREに基づく命令スケジューリング(以下,ISPRE)を実現した.ISPREは,空きリソースに実行可能なすべての式を配置しPREを適用することによって,スケジュール可能な式をすべて見つけ,必要な補償コードを計算する.ISPREによって,補償コードのコストを考慮したスケジューリングを可能にした.
|
今後の研究の推進方策 |
COINSコンパイラの低水準中間表現に対し,双方向時相論理でかつ自由変数を持つ論理CTL-FVを用いて最適化のパターンと変換を記述し,そこからCOINS上で動作する最適化器を生成する研究を引き続き行う. COINSコンパイラに対する高度最適化についても,いくつかのアイディアがあるので,引き続き研究開発を行う. これまでの研究の進展結果から前者にはかなりの困難が予想されるため,次年度は研究計画を少し変更し,後者に重点を置くようにしたい.
|