特許
J-GLOBAL ID:200903020157444758

コンパイラ及びその最適化方法

発明者:
出願人/特許権者:
代理人 (1件): 京本 直樹 (外2名)
公報種別:公開公報
出願番号(国際出願番号):特願平10-003760
公開番号(公開出願番号):特開平11-203144
出願日: 1998年01月12日
公開日(公表日): 1999年07月30日
要約:
【要約】【課題】割込関数のコード出力時に不要レジスタの退避・復帰処理を削減することにより処理の効率化を図る。【解決手段】呼出関数情報と使用レジスタ情報を登録する関数毎使用レジスタ管理テーブル5Aと、中間コード10を解析し関数毎の呼出関数名とその使用レジスタを関数毎使用レジスタ管理テーブル5Aに登録する関数毎使用レジスタ抽出部6と、関数毎使用レジスタ管理テーブル5Aを参照して割込関数から呼び出す関数で使用するレジスタを集計して割込関数の使用レジスタとして関数毎使用レジスタ管理テーブル5Aに登録し直す関数毎使用レジスタ集計部7と、中間コード10及び前記関数毎使用レジスタ管理テーブル5Aを参照して割込関数の使用レジスタの退避・復帰コードをアセンブラプログラムファイル9に出力する出力部8Aとを備える。
請求項(抜粋):
アーキテクチャに割込処理機能を有するデバイスを対象とするコンパイラにおいて、ソースプログラムを読み込み字句解析を行う入力部と、字句配列から構文を解析し構文木を作成する構文解析部と、前記構文木を最適化する最適化部と、最適化した前記構文木より中間コードを生成するコード生成部と、呼出関数情報と使用レジスタ情報を登録する関数毎使用レジスタ管理テーブルと、前記中間コードを解析し関数毎の呼出関数名とその使用レジスタを前記関数毎使用レジスタ管理テーブルに登録する関数毎使用レジスタ抽出部と、前記関数毎使用レジスタ管理テーブルを参照して割込関数から呼び出す関数で使用するレジスタを集計して前記割込関数の使用レジスタとして前記関数毎使用レジスタ管理テーブルに登録し直す関数毎使用レジスタ集計部と、前記中間コード及び前記関数毎使用レジスタ管理テーブルを参照して前記割込関数の使用レジスタの退避・復帰コードをアセンブラプログラムファイルに出力する出力部とを備えることを特徴とするコンパイラ。
IPC (2件):
G06F 9/45 ,  G06F 9/46 313
FI (2件):
G06F 9/44 322 F ,  G06F 9/46 313 A
引用特許:
審査官引用 (4件)
全件表示

前のページに戻る