特許
J-GLOBAL ID:200903060662747503

計算式最適化方法

発明者:
出願人/特許権者:
代理人 (1件): 小川 勝男
公報種別:公開公報
出願番号(国際出願番号):特願平4-269974
公開番号(公開出願番号):特開平6-119184
出願日: 1992年10月08日
公開日(公表日): 1994年04月28日
要約:
【要約】【目的】本発明の目的は、RISC計算機におけるプログラムの実行速度を向上させる高度な最適化手法を提供することにある。【構成】同一の形をした計算式の組あるいは代入文とその代入先の変数をオペランドとして使用している計算式の組に対し、到達定義検査部(107)で計算式のオペランドの値が間で更新される可能性を調べ、更新される可能性がなければ、従来の処理を行なう。更新される可能性がある場合、更新箇所検査部(108)で更新箇所の個数及びその更新がプログラム上で常に起こるかを調べる。更新箇所が一箇所でかつその更新が常に起こるとは限らない場合、次のコスト解析部(109)で更新が起こった場合と起こらなかった場合の二通りのオブジェクトコードを生成して実行命令数が低減するかを調べ、低減すると判定された場合には定数伝播変換実施部(110)及び共通式変換実施部(111)で各々実際に二通りのオブジェクトコードを生成するように変換される。
請求項(抜粋):
計算機言語で記述されたプログラムのソースコードから実行用のオブジェクトコードを生成するコンパイラにおいて、計算結果が同一となる複数の計算式の組に対して、一度の計算で該計算式の値を求めるオブジェクトコードを生成する方法であって、該計算式の組の間で該計算式を構成するオペランドの値が変わり得る場合にも、該プログラムの実行結果の実行頻度情報に基づき、該オペランドが変更される場合と変更されない場合の二通りのオブジェクトコードを生成した場合の実行時間と該計算を複数回繰り返した場合の実行時間を比較し、前者の実行時間の方が短い場合に実際に二通りのオブジェクトコードを生成することによってプログラムの実行速度を向上させることを特徴とする計算式最適化方法。

前のページに戻る