研究概要 |
本研究の目的は、配列添字式やループ上下限式中に、未知のループ不変変数(記号定数)が出現した場合、1)記号定数に関する値域情報を、対象プログラム全域(複数の定数伝播、配列宣言の寸法、if文の条件節,forループの上下限等)から抽出し、添字解析に利用できるようにすること。2)上記の値域情報を利用する新しい添字解析法を確立すること。の2点である。 研究代表者の所属する京都大学工学部情報工学科津田研究室では、既に自動ベクトル化コンパイラV-Pascalを開発し、その一部として依存関係解析部も独自のアルゴリズムを実現している。本研究では、まず、このコンパイラのデータフロー解析部を、変数の値域情報を抽出できるよう改良した。 そのアルゴリズムとしては、通常のデータフロー解析と同様に制御の流れに沿って、値域情報を伝搬させることを繰り返すことにより、派生的に判明する値域情報も網羅的に確定させるものである。このとき、条件分岐の影響を厳密に反映するように、条件分岐の条件節から得られるガード式を、値域情報に付加している。 一方、現在のデータ依存関係解析部は、既に複数の等式/不等式を扱えるデータ構造を有していることから、1)関連する記号定数の等式あるいは不等式の形の値域情報を同時に入力してくる。そして、2)静的解析が不能の場合には、依存が存在するための記号定数に関する条件式を生成すべく現在引続き開発中である。 本研究で実現された値域情報抽出が、実際に依存関係解析に有効である例などを示した研究成果を情報処理学会全国大会でまず報告する(裏面、11研究発表欄記載のとおり)。 以上
|