研究概要 |
最近の計算機アーキテクチャでは,遅延命令や,複数機能ユニットによるスーパースカラ処理,パイプライン処理,内部並列処理などが行われている.これらは,コンパイラが目的コードを最適に配置することで,初めて目的コードを効率よく実行できるようなアーキテクチャであり,コンパイラの役割は益々重要になっている. 一方,コンパイラのバックエンド処理の新しい内部表現として,単一代入の変数を用いるSSA(Static Single Assignment)形式が提唱され,コンパイラのデータフロー解析や最適化変換が容易にできることで注目を浴びている.しかしSSA形式における最適化変換,およびその後のレジスタ割付けやコード生成フェーズとの接続法は十分解明されていない. 本研究では,これらの問題に対し,(1)最新アーキテクチャの特徴を生かした効率良いコードの生成手法,(2)SSA形式に対応した最適化やコード生成の手法,を中心としたコンパイラの新しい手法を開発することを目標とする. 本年度は,それらの手法のベースとなる次のような成果を得た. (1)分散プログラミング言語に対する,異機種分散環境上での効率良いネイティブコード生成の研究(研究発表の1) (2)上記の最適化やコード生成を行うための,リモート属性参照を可能とした循環属性文法に基づく生成系(研究発表の2) (3)機械語レベルの最適化を行うための,アセンブリ言語上でのプログラム特化(研究発表の3)
|