JPH09319587A - 計測情報を使ったポストオプティマイズによるプログラムの生成方式 - Google Patents

計測情報を使ったポストオプティマイズによるプログラムの生成方式

Info

Publication number
JPH09319587A
JPH09319587A JP15907896A JP15907896A JPH09319587A JP H09319587 A JPH09319587 A JP H09319587A JP 15907896 A JP15907896 A JP 15907896A JP 15907896 A JP15907896 A JP 15907896A JP H09319587 A JPH09319587 A JP H09319587A
Authority
JP
Japan
Prior art keywords
program
instruction
measurement
instruction sequence
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP15907896A
Other languages
English (en)
Inventor
Akio Ogasawara
章夫 小笠原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP15907896A priority Critical patent/JPH09319587A/ja
Publication of JPH09319587A publication Critical patent/JPH09319587A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】実行時に使用する命令列を計測することによ
り、目的プログラムから最適化したプログラムを得る最
適化方式。 【解決手段】目的プログラムを計測プログラムへ変換す
る変換装置と、計測プログラムと連携して計測を行う計
測装置と、計測プログラムを実行することによって得ら
れる計測情報を元に目的プログラムを最適化プログラム
へと変換する最適化用変換装置とを用いて、目的プログ
ラムから最適化プログラムを生成する最適化装置。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムの最適
化方式に関し、特に、計測情報を用いた最適化プログラ
ムの生成方式に関する。
【0002】
【従来の技術】コンパイラにおける目的プログラムの最
適化手法の従来技術として、例えば特開平4−1655
37号公報には、利用者がプログラムの動作や振る舞い
を意識することなく、最適なインライン展開を行うこと
ができるプログラム自動インライン展開方式を提供する
ことを目的として、原始プログラム(ソースプログラ
ム)を解析してどのプログラム単位からどのプログラム
単位が呼び出されるかを解析し、原始プログラムを解析
して各文の実行回数を推定し、解析結果からどのプログ
ラム単位からどのプログラム単位の呼び出しをインライ
ン展開するのかを決定し、インライン展開手段が決定さ
れたプログラム単位をそのプログラム単位を呼び出すプ
ログラム単位の中に展開するようにしたコンパイラの構
成が示されている。すなわち、上記公報記載の方式にお
いては、ソースプログラムのみを入力として用い、静的
な情報のみに基づいて、変数代入のループ外への移動や
パイプラインでの効率改善のための命令順の置き換えな
どの最適化が行われている。
【0003】また、プロファイラーと呼ばれるツールを
用いて、プログラムの実行環境での振る舞いを計測する
ことも行われている。しかし、この場合、プログラムの
改善は人手によりソースプログラムを書き直すというや
り方が一般的である。
【0004】また特開平1−111236号公報には、
パイプライン方式計算機においてプログラムが多く動く
方向に先読みが行われれば、高い性能が得られるが、先
読み方向の指示はプログラマがプログラム作成時に指定
する方法や、コンパイラが発生する方法が考えられる
が、これらの方法ではプログラマの負担が増えたり、最
適なプログラムが得られにくいという問題点があるた
め、これを解消すべく、分岐命令にトラップをかける機
能を有するトラップ手段と、そのトラップをマスクする
ことができるプログラムでセット/リセットが可能なマ
スクフラグを備えた計算機が提案されている。これは、
ハードウェアを用いて計測を行い最適化を実施する手法
であるが、この場合は専用のハードウェアを用意しなけ
ればならないという問題がある。
【0005】
【発明が解決しようとする課題】上記したように、従来
の最適化方式においては、静的な解析のみによりプログ
ラムの最適化を行う場合、現実の実行時に有効な命令列
を生成できるとは限らないという問題点を有している。
【0006】この理由は、プログラムの静的情報には、
プログラムの実行時において、どのような入力を処理す
るかが記述されているが、実行の頻度や、同時に利用さ
れる機能の組合せについての情報を欠き、このため、静
的な解析による命令列の最適化では実行時の性能改善に
必ずしも有効でない場合があることによる。
【0007】一方、上記従来方式の計測手段により、そ
の結果を人手で反映する方法もあるが、この方法は人手
作業を要し、また、人手による変換作業では人為ミスが
混入する場合もあるという問題点を有している。
【0008】さらに、上記従来技術の第2の問題点とし
て、関数をインライン展開する場合に、静的解析情報の
みで適当なインライン展開を行おうとした場合、十分な
情報が得られずに無駄な展開を行うことがあるというこ
とである。
【0009】より具体的には、関数呼び出しを行う部分
が何回呼び出されるかが分からないと、1回しか呼び出
されない呼出し命令を関数と置き換えてしまい、その結
果記憶領域が無駄になる。しかし、ループ中などにある
呼出し命令では、実際の環境で、どのような条件で使用
されるかにより、実行される回数が異なるため、静的解
析により、実行回数を推定することは困難である。
【0010】従って本発明は、上記事情に鑑みてなされ
たものであって、その目的は、実行時に使用する命令列
を計測することにより、最適化したプログラムを得るこ
とができるようにした最適化方式及び方法を提供するこ
とにある。
【0011】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、プログラムの分岐命令列及び/又はイン
ラインの展開を最適化する方式において、プログラムが
実行時に使用する命令列を計測する手段と、プログラム
の静的な分析結果と共に、この計測手段により得られ
る、実行時に使用する命令列の計測結果を用いることに
より、計測時のように処理が行われた場合に効率良く処
理される命令列が得られるように、前記プログラム中の
命令列を自動的に再配置する手段と、を備えたことを特
徴とするプログラムの最適化方式を提供する。
【0012】本発明の概要を以下に説明する。本発明に
おいては、実際に命令列が実行される環境で計測した情
報を元に、基本ブロック単位の実行の頻度や同時に実行
される機能の組み合わせを考慮することにより、静的な
解析だけでは推定できない、実際に実行される確率が高
い命令を優先することにより、有効な命令列を生成す
る。これにより、プログラムの実行時の性能を改善する
ことができる。
【0013】また、本発明においては、インライン展開
を行おうとした場合に、関数呼出しを行う部分が何回呼
び出されるかを計測し、置き換えられる命令列の長さに
見合う呼び出し回数の呼出し命令のみを関数と置き換え
ることにより、記憶領域を有効に活用できる。例えば呼
び出し頻度の高い関数呼び出しをインライン展開する。
【0014】このように、本発明によれば、計測結果を
利用することにより、静的な解析のみでは知り得ないプ
ログラムの振る舞いを、命令列の最適化のために用いる
ことができる。このため、命令列を読み込む際のパイプ
ライン処理がより効率的になるように命令列の配置を最
適化することが可能となる。また、計測結果に基づき、
命令の呼出し順序を検討することにより、実行時にキャ
ッシュから読み出される命令列が最大になるように(キ
ャッシュ・ヒット率を向上するように)、命令列を配置
することができる。また、頻度の高い関数呼出しのみを
インライン展開することにより、記憶域を無駄に消費す
ることなく、効率的な実行が可能な命令列を生成でき
る。
【0015】
【発明の実施の形態】本発明の実施の形態について図面
を参照して以下に詳細に説明する。
【0016】図1は、本発明の実施の形態の構成をブロ
ック図にて示したものである。
【0017】図1を参照すると、本発明の実施の形態
は、目的プログラム1から計測用プログラム3を生成す
る計測用変換装置2と、計測用プログラム3と連携して
動作させることにより計測情報6を採取する計測用装置
4と、計測情報6と最適化パラメタ7から最適化プログ
ラム9を生成する最適化用変換装置8と、を備えて構成
されている。
【0018】本発明の実施の形態の動作について以下に
説明する。
【0019】まず、計測用変換装置2の処理動作につい
て、図4の流れ図を参照して以下に説明する。計測用変
換装置2は、目的プログラム1を読み込み(ステップ1
01)、目的プログラム1中の分岐命令、及び、関数呼
び出し命令(関数呼出し命令は基本ブロックに含まれる
が入り口を検出するために必要)を基に目的プログラム
1を基本ブロック入り口と出口がそれぞれ1つしかない
命令列に分割し(ステップ102)、各基本ブロックの
呼出し情報を、計測用装置4を通して計測情報6として
書き出すための命令を付加した計測用プログラム3を生
成し(ステップ103)、計測用プログラム3を書き出
す(ステップ104)。これにより計測用変換装置2に
よる処理が完了する。
【0020】次に、図5の流れ図を参照して、計測用装
置4の処理動作を説明する。利用者が実行環境5におい
て、計測用変換装置2によって出力された計測用プログ
ラム3を走行させることにより、計測用プログラム3か
ら計測用装置4が呼び出される。まず、起動時には計測
用装置4の初期化処理が呼び出され(図5(A)参
照)、利用者から走行ID(走行IDとは、複数の走行
パターンを実行する場合にそれぞれの走行を区別するた
めの識別コードをいう)を取得して計測用装置4内に格
納し(ステップ201)、計測用装置4内の基本ブロッ
クに対して設けられたカウンタがクリアされる(ステッ
プ202)。
【0021】つづいて、計測用プログラム3の各々の基
本ブロックが走行するつど、計測用装置4の計測装置が
呼び出され(図5(B)参照)、基本ブロックのカウン
タが加算されて行く(ステップ203)。最後に計測用
装置4の終了処理が呼び出され(図5(C)参照)、走
行IDと基本ブロックのカウンタが計測情報6として記
録される(ステップ204)。
【0022】利用者は、計測情報6を十分に採取した後
に、走行ID単位の重み付けを、最適化パラメタ7とし
て用意する。
【0023】図6の流れ図を参照して、最適化用変換装
置8の処理動作を以下に説明する。すなわち、利用者が
最適化用変換装置8を起動すると、目的プログラム1の
読み込みが行われ(ステップ301)、基本ブロックへ
と分割され(ステップ302)、計測情報6と最適化パ
ラメタ7とが読み込まれ、基本ブロックの統計情報とし
て格納される(ステップ303)。格納された統計情報
を基に処理順序の並べ替え処理が実行される(ステップ
304)。
【0024】ステップ304において、処理順序の並び
替えは、サブルーチンとして呼び出される。図7に、処
理順序の並び替えのサブルーチンの処理フローを流れ図
にて示す。まず基本ブロックが探索され(ステップ31
0)、分岐が低確率の方を優先されているかがチェック
され(ステップ311)、更に、並べ替えの対象となる
基本ブロックの大きさが評価される(ステップ31
2)。
【0025】ここで、図2(A)に示される命令列のよ
うに、元のプログラムでは、低確率の処理が優先されて
いるが、命令長が短い場合には、図2(B)に示すよう
に並べ替えが行われる(図7のステップ314)。すな
わち、図2を参照して、条件分岐命令“je reg1
L2”よりも先に実行される条件分岐命令である“j
e reg1 L1”の後の基本ブロック1(確率3
%)の方が、条件分岐命令“je reg2 L2”の
後に配置された基本ブロック2(確率95%)よりも低
確率であり、条件分岐命令“je reg2 ラベル”
とブロック2を先に配置し、ブロック1の命令長が短い
場合には、例えばキャッシュのヒット率等を考慮して関
数化することなく、図2(B)に示すようにブロック2
の後ろに条件分岐命令“je reg1 ラベル”を介
して配置する。
【0026】また、図3(A)に示される命令列のよう
に、低確率の処理が優先されているが命令列が長い場合
には、図3(B)に示すように、関数化(サブルーチン
化)が行われる(図7のステップ313)。すなわち、
図3(B)を参照して、低確率(3%)のブロック1は
その前の条件分岐命令“je reg1 L1”(レジ
スタreg1の値が0の時ラベルL1に分岐)と共にサ
ブルーチンSub1として低確率(2%)のブロック3
と共に外部にまとめられ、一方、高確率(95%)のブ
ロック2は条件分岐命令“je reg2 L1”に続
いてサブルーチン呼び出し文(call sub1)の
前方に配置換えされている。これらの並べ替えにより、
命令列が実際の環境で動作する際の実行時間を短縮する
命令列が生成される。
【0027】再び図6を参照して、格納された統計情報
を元にインライン展開の処理が実行される(ステップ3
05)。
【0028】図8は、インライン展開処理のサブルーチ
ンを流れ図にて示したものである。図8を参照して、基
本ブロックの中で実行される確率の高い基本ブロックを
探索し(ステップ320)、該当する基本ブロック中に
関数の呼出しがあるかがチェックされ(ステップ32
1)、呼び出される関数の命令列の長さが呼出し確率に
対して短いかがチェックされ(ステップ322)、両方
のチェックが成立した場合に、呼び出される関数のイン
ライン展開する(ステップ323)。
【0029】再び図6を参照して、これらの最適化処理
が終了すると、最適化プログラム9が生成される(ステ
ップ306)。
【0030】以上により、本発明の実施の形態の動作で
ある最適化の処理が完了する。
【0031】
【実施例】上記した本発明の実施の形態を更に詳細に説
明すべく、本発明の実施例について図面を参照して詳細
に説明する。
【0032】図9は、本発明の一実施例を説明するため
の図であり、入力となるプログラム例を示している。ま
た、図10は、計測用プログラム、図11は、最適化さ
れたプログラムの一例をそれぞれ示している。なお、図
9に示すアセンブラ命令のプログラムリストは、例えば
C言語等の高水準言語によるプログラムをコンパイルし
て得られた目的プログラム(オブジェクトプログラム)
のアセンブルリスト(ニーモニックコード)を示してお
り、またラベル@0、@6等はコンパイラが自動で割り
付けて生成している。
【0033】本発明の実施例において、図9に示すプロ
グラム1は、計測用変換装置2により、図10に示すよ
うな計測用プログラム3の形に変換される。この変換
は、目的プログラム1が、ステップ101(図4参照)
により読み込まれ、図6のステップ102の処理によ
り、基本ブロックである分岐命令の前後に分割されるこ
とにより、ステップ103で、条件分岐命令の直後、ま
たは、条件分岐命令の分岐先、または、呼び出し命令の
呼び出し先に、計測用装置の呼び出し命令(call
count)が埋め込まれる。
【0034】計測装置呼び出し命令が埋め込まれた命令
列は、図4のステップ104の処理により、計測用プロ
グラム3として書き出され、図10に示すような命令列
となる。
【0035】次に利用者が実行環境5において、計測用
プログラム3に相当する、図10に示す命令列の命令列
を1回実行し、実行された際に計測情報として各計測装
置呼び出し命令での実行回数が、図10において、各計
測用呼び出し命令(callcount)の右側に示す
数値となったものとする。また、計測結果は1回のみと
し、走行IDでの重み付けは100%(=1)であった
とする。
【0036】この結果が、計測用装置4によりカウント
され、計測情報6として記録される。
【0037】この計測情報6をもとに最適化用変換装置
8は、高確率な分岐を優先するように並べ替えを行う。
【0038】図10を参照して、この実施例では呼び出
される関数の実行回数として、func2が800回、
func1が100回、func3が50回、func
4が50回、exitが10回という結果となってい
る。
【0039】最適化用変換装置8は、目的プログラム1
を読み込み(図6のステップ301)、基本ブロックに
分割する(ステップ302)。
【0040】次に、ステップ303で、計測情報6と最
適化パラメタ7とが読み込まれる。今回の最適化パラメ
タ7は走行回数が1回であるために統計情報は図10に
示す値と同じ値となる。
【0041】格納された統計情報を基に、ステップ30
4において、命令列の並べ替えを行うが、基本ブロック
2は10回実行されていて、基本ブロック3は1000
回実行されている。
【0042】そこで命令列の並べ替えが実行されるが、
基本ブロック2へと分岐する条件命令列は、 cmp di,0 jne @1 となっている(diと0とを比較し、一致しなければラ
ベル@1へジャンプ)。
【0043】基本ブロック3の条件分岐形式も同様に、 cmp di,1 jne @2 となっているので、条件命令から先を交換することが可
能である。
【0044】したがって、並べ替えは、 cmp di,1 jne @2 が先頭に来る形へ変換される。
【0045】この並べ替えにより、基本ブロック3が先
頭に処理される形式へ変換される。以下同様に基本ブロ
ックの並べ替えが行われることにより、図11に示すよ
うな、命令列へと並べ替えが行われる。
【0046】図11は、この結果を反映した順序に命令
列の再配置が行われた最適化が施された結果のプログラ
ムを示している。
【0047】
【発明の効果】以上説明したように、本発明によれば、
分岐処理の最適化を行うことにより、プログラムの処理
速度の向上を可能とするという効果を奏する。
【0048】この理由は、本発明においては、実行され
る確率が最も高い処理を、最初に判定することにより、
その後の無駄な判定を行わないことによる。すなわち、
実行確率の低い処理への分岐を判定する条件分岐は後方
に再配置される。
【0049】また、本発明によれば、処理確率が高い関
数をインライン展開することにより必要以上の命令列を
生成することなく、処理速度の向上を達成するという効
果を奏する。
【0050】この理由は、関数をインライン展開すると
関数呼出しに伴うオーバーヘッドが減少することによ
る。また、本発明によれば、関数のインライン展開を命
令列の長さに応じて判断しているため、機械的に全ての
関数をインライン展開する必要がないので、必要以上の
命令列を生成することがない。
【図面の簡単な説明】
【図1】本発明の実施の形態を説明するためのブロック
図である。
【図2】(A)本発明の実施の形態の動作を説明するた
めの図であり、元の命令列を示した図である。 (B)本発明の実施の形態の動作を説明するための図で
あり、並べ替えが行われた結果を示す図である。
【図3】(A)本発明の実施の形態の動作を説明するた
めの図であり、命令列を示した図である。 (B)本発明の実施の形態の動作を説明するための図で
あり、関数化が行われる場合の例を説明した図である。
【図4】本発明の実施の形態の動作を説明するための流
れ図であり、計測用変換装置の処理動作を説明するため
の図である。
【図5】本発明の実施の形態の動作を説明するための流
れ図であり、計測用装置の処理動作を説明するための図
である。
【図6】本発明の実施の形態の動作を説明するための流
れ図であり、最適化用変換装置の処理動作を説明するた
めの図である。
【図7】本発明の実施の形態の動作を説明するための流
れ図であり、処理順序の並べ替えサブルーチンの処理を
示す流れ図である。
【図8】本発明の実施の形態を説明するための図であ
り、インライン展開のサブルーチンの処理を示す流れ図
である。
【図9】本発明の一実施例を説明するための図であり、
入力となるプログラムの一例を示した図である。
【図10】本発明の一実施例を説明するための図であ
り、計測用プログラムの一例を示した図である。
【図11】本発明の一実施例を説明するための図であ
り、最適化されたプログラムの一例を示した図である。
【符号の説明】
1 目的プログラム 2 計測用変換装置 3 計測用プログラム 4 計測用装置 5 実行環境 6 計測情報 7 最適化パラメタ 8 最適化用変換装置 9 最適化プログラム 101〜104 計測用変換装置の処理工程 201〜204 計測用装置の処理工程 301〜306 最適化用変換装置の処理工程 310〜314 処理順序の並べ替え処理 320〜323 インライン展開処理

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】プログラムの分岐命令列及び/又はインラ
    インの展開を最適化する方式において、 プログラムが実行時に使用する命令列を計測する手段
    と、 プログラムの静的な分析結果と共に、この計測手段によ
    り得られる、実行時に使用する命令列の計測結果を用い
    ることにより、計測時のように処理が行われた場合に効
    率良く処理される命令列が得られるように、前記プログ
    ラム中の命令列を自動的に再配置する手段と、を備えた
    ことを特徴とするプログラムの最適化方式。
  2. 【請求項2】プログラムの実行時における条件分岐命令
    の分岐の方向を動的に観測するための監視用命令を前記
    プログラム中に挿入し、 前記監視用命令が挿入されたプログラムを実行して、前
    記条件分岐命令の分岐の仕方に応じて実行の有無が制御
    される処理単位(「ブロック」という)の実行状況を観
    測情報として取得し、 前記観測情報に基づき、前記ブロックの処理順序の並び
    替えを自動で行うことを特徴とするプログラムの最適化
    方法。
  3. 【請求項3】前記観測情報に基づき、条件分岐命令を介
    して相対的に低確率のブロックよりも相対的に高確率の
    ブロックの方が先に配置されている場合には、前記高確
    率のブロックが先に実行されるように再配置し、前記低
    確率のブロックをその命令列の長さに応じて関数化する
    ことを特徴とする請求項2記載のプログラムの最適化方
    法。
  4. 【請求項4】前記観測情報に基づき、相対的に高確率の
    ブロックが関数呼び出しを行う場合に、前記関数の命令
    列の長さに応じて該関数をインライン展開することを特
    徴とする請求項2記載のプログラムの最適化方法。
JP15907896A 1996-05-30 1996-05-30 計測情報を使ったポストオプティマイズによるプログラムの生成方式 Pending JPH09319587A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15907896A JPH09319587A (ja) 1996-05-30 1996-05-30 計測情報を使ったポストオプティマイズによるプログラムの生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15907896A JPH09319587A (ja) 1996-05-30 1996-05-30 計測情報を使ったポストオプティマイズによるプログラムの生成方式

Publications (1)

Publication Number Publication Date
JPH09319587A true JPH09319587A (ja) 1997-12-12

Family

ID=15685746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15907896A Pending JPH09319587A (ja) 1996-05-30 1996-05-30 計測情報を使ったポストオプティマイズによるプログラムの生成方式

Country Status (1)

Country Link
JP (1) JPH09319587A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292940B1 (en) 1998-01-26 2001-09-18 Nec Corporation Program complete system and its compile method for efficiently compiling a source program including an indirect call for a procedure
JP2009205586A (ja) * 2008-02-29 2009-09-10 Sony Computer Entertainment Inc コンパイラおよびプログラム分割方法
JP4823075B2 (ja) * 2004-01-14 2011-11-24 コミサリア ア レネルジー アトミック エ オ ゼネルジー アルテルナティブ 最適化コードの自動発生システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292940B1 (en) 1998-01-26 2001-09-18 Nec Corporation Program complete system and its compile method for efficiently compiling a source program including an indirect call for a procedure
JP4823075B2 (ja) * 2004-01-14 2011-11-24 コミサリア ア レネルジー アトミック エ オ ゼネルジー アルテルナティブ 最適化コードの自動発生システム
JP2009205586A (ja) * 2008-02-29 2009-09-10 Sony Computer Entertainment Inc コンパイラおよびプログラム分割方法

Similar Documents

Publication Publication Date Title
US5659752A (en) System and method for improving branch prediction in compiled program code
JP3311462B2 (ja) コンパイル処理装置
US6289505B1 (en) Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler
Quiñones et al. Mitosis compiler: an infrastructure for speculative threading based on pre-computation slices
US6487715B1 (en) Dynamic code motion optimization and path tracing
US6718541B2 (en) Register economy heuristic for a cycle driven multiple issue instruction scheduler
JP3641997B2 (ja) プログラム変換装置及び方法並びに記録媒体
JP3790683B2 (ja) コンピュータ装置、その例外処理プログラム及びコンパイル方法
JP4003830B2 (ja) マルチプロセッシング環境における透過動的最適化のための方法およびシステム
US5557761A (en) System and method of generating object code using aggregate instruction movement
US5920723A (en) Compiler with inter-modular procedure optimization
JP3220055B2 (ja) 機械語命令列またはアセンブリ言語命令列を最適化する最適化装置、及び、高級言語で記載されたソースプログラムを機械語またはアセンブリ言語の命令列に変換するコンパイラ装置。
JP3337174B2 (ja) コンパイル方法
US6986130B1 (en) Methods and apparatus for compiling computer programs using partial function inlining
US20040154010A1 (en) Control-quasi-independent-points guided speculative multithreading
US20110119660A1 (en) Program conversion apparatus and program conversion method
JP6141365B2 (ja) 逐次コンピュータプログラムコードを並列処理する方法及びシステム
JP2004302706A (ja) プログラム並列化装置,プログラム並列化方法およびプログラム並列化プログラム
EP1039382B1 (en) Memory access optimizing method
JPH11212797A (ja) プログラム変換方法、プログラム変換装置及びプログラム変換プログラムを記憶した記憶媒体
US5790859A (en) Method of, system for, and computer program product for efficient identification of private variables in program loops by an optimizing compiler
JP3651774B2 (ja) コンパイラ及びそのレジスタ割付方法
JP2002259135A (ja) プログラムの最適化方法及びこれを用いたコンパイラ
Suganuma et al. A region-based compilation technique for dynamic compilers
Djoudi et al. Exploring application performance: a new tool for a static/dynamic approach

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19991005