JPH05204660A - コンパイラ最適化方式 - Google Patents
コンパイラ最適化方式Info
- Publication number
- JPH05204660A JPH05204660A JP4011631A JP1163192A JPH05204660A JP H05204660 A JPH05204660 A JP H05204660A JP 4011631 A JP4011631 A JP 4011631A JP 1163192 A JP1163192 A JP 1163192A JP H05204660 A JPH05204660 A JP H05204660A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- program
- loop
- register
- compiler
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】本発明は、コンパイラの最適化方式に関し、変
数の動的な使用回数に基づく、効率の良いレジスタ割付
けを行い、目的プログラムの実行速度向上を目的とす
る。 【構成】原始プログラム(102)を入力し、プログラ
ム内で使用される各変数の動的な使用回数を解析する処
理(103)と、解析結果である各変数の動的な使用回
数を記憶する領域(104)と、記憶された解析結果を
参照してレジスタ割付け優先順位を決定する処理(10
5)をコンパイラ(101)に設け、動的な使用回数の
多い変数から順にレジスタに割付けることによって達成
される。 【効果】変数の動的な使用回数に基づいてレジスタを割
り付けるので、目的プログラム実行時のレジスタ使用効
率が良くなり、目的プログラムの実行速度が向上する。
数の動的な使用回数に基づく、効率の良いレジスタ割付
けを行い、目的プログラムの実行速度向上を目的とす
る。 【構成】原始プログラム(102)を入力し、プログラ
ム内で使用される各変数の動的な使用回数を解析する処
理(103)と、解析結果である各変数の動的な使用回
数を記憶する領域(104)と、記憶された解析結果を
参照してレジスタ割付け優先順位を決定する処理(10
5)をコンパイラ(101)に設け、動的な使用回数の
多い変数から順にレジスタに割付けることによって達成
される。 【効果】変数の動的な使用回数に基づいてレジスタを割
り付けるので、目的プログラム実行時のレジスタ使用効
率が良くなり、目的プログラムの実行速度が向上する。
Description
【0001】
【産業上の利用分野】本発明は、コンパイラの最適化方
式に関する。
式に関する。
【0002】
【従来の技術】コンパイラの最適化処理の一つに、プロ
グラム内で使用頻度の高い変数をレジスタに割付けるこ
とにより、レジスタ使用効率を良くしプログラム実行速
度の向上を図るレジスタ割付け最適化がある。レジスタ
割付け最適化の理論については、Aho,Ullman著、土居範
久訳:コンパイラ、培風館、pp.485−488,1986.
に記されている。本文献においては、使用回数の多い変
数ほどレジスタ割付けによる効果が大きいことが述べら
れている。ここでいう使用回数は、理想的には変数の動
的な使用回数である。しかし、実行時にループ回数の決
まるループ処理中で使用される変数については、コンパ
イル時に動的な使用回数はわからない。このため、ルー
プ内で使用される変数のレジスタ割付け優先度評価値に
ついては、一定の評価定数(優先度の重み付け定数)を
付加することによって、優先度を高くする方法を採用し
ていた。また、ループが重なって入れ子構造になってい
る場合には、評価定数に入れ子の深さ数を乗算した値を
評価値として、さらに優先度を高くしていた。
グラム内で使用頻度の高い変数をレジスタに割付けるこ
とにより、レジスタ使用効率を良くしプログラム実行速
度の向上を図るレジスタ割付け最適化がある。レジスタ
割付け最適化の理論については、Aho,Ullman著、土居範
久訳:コンパイラ、培風館、pp.485−488,1986.
に記されている。本文献においては、使用回数の多い変
数ほどレジスタ割付けによる効果が大きいことが述べら
れている。ここでいう使用回数は、理想的には変数の動
的な使用回数である。しかし、実行時にループ回数の決
まるループ処理中で使用される変数については、コンパ
イル時に動的な使用回数はわからない。このため、ルー
プ内で使用される変数のレジスタ割付け優先度評価値に
ついては、一定の評価定数(優先度の重み付け定数)を
付加することによって、優先度を高くする方法を採用し
ていた。また、ループが重なって入れ子構造になってい
る場合には、評価定数に入れ子の深さ数を乗算した値を
評価値として、さらに優先度を高くしていた。
【0003】
【発明が解決しようとする課題】上記従来技術では、各
変数のレジスタ割付け優先順位が、変数の動的な使用回
数の順序と一致しない場合が生じ、レジスタ使用効率の
悪いレジスタ割付けを行なうという問題があった。
変数のレジスタ割付け優先順位が、変数の動的な使用回
数の順序と一致しない場合が生じ、レジスタ使用効率の
悪いレジスタ割付けを行なうという問題があった。
【0004】例えば、図2のプログラム例に示すよう
に、10回繰り返すループ処理(202)中に、さらに10
回繰り返すループ処理(203)が入れ子になってお
り、この中で使用される変数Bと、1000回繰り返す
ループ処理(204)の中で使用される変数Cとを考え
る。ここで、各変数の動的な使用回数は、変数Bが10
0回、変数Cが1000回である。
に、10回繰り返すループ処理(202)中に、さらに10
回繰り返すループ処理(203)が入れ子になってお
り、この中で使用される変数Bと、1000回繰り返す
ループ処理(204)の中で使用される変数Cとを考え
る。ここで、各変数の動的な使用回数は、変数Bが10
0回、変数Cが1000回である。
【0005】従来技術では、各変数のレジスタ割付け優
先度評価値を数1で求めていた。
先度評価値を数1で求めていた。
【0006】
【数1】
【0007】ここで、 P :変数のレジスタ割付け優
先度評価値 Euc:ループ外での変数使用回数 n :プログラム内のループ処理数 x :ループ番号(1〜n) Lux:x番目のループ内での変数使用回数 Dx :x番目のループの入れ子深さ数 W :ループ内の変数に対する優先度の重み付け定数 を示す。W=10と仮定すると、各変数の優先度評価値
は表1に示すようになる。
先度評価値 Euc:ループ外での変数使用回数 n :プログラム内のループ処理数 x :ループ番号(1〜n) Lux:x番目のループ内での変数使用回数 Dx :x番目のループの入れ子深さ数 W :ループ内の変数に対する優先度の重み付け定数 を示す。W=10と仮定すると、各変数の優先度評価値
は表1に示すようになる。
【0008】
【表1】
【0009】この結果によれば、変数Bの優先度が最も
高いことになる。割付け可能なレジスタが1本しかない
場合、変数Cより動的な使用回数の少ない変数Bがレジ
スタに割付くことになり、レジスタ使用効率が悪い割付
け結果になる。これは、ループ内の変数に対して、ルー
プ回数に係わらず、一律に重み付け定数を付加する優先
度評価方法に起因する。
高いことになる。割付け可能なレジスタが1本しかない
場合、変数Cより動的な使用回数の少ない変数Bがレジ
スタに割付くことになり、レジスタ使用効率が悪い割付
け結果になる。これは、ループ内の変数に対して、ルー
プ回数に係わらず、一律に重み付け定数を付加する優先
度評価方法に起因する。
【0010】本発明は、コンパイル時に各変数の動的使
用回数を可能な範囲で解析することにより、レジスタ割
付け優先度を正確に評価して効率の良いレジスタ割付け
を行い、プログラム実行速度を向上させることを目的と
する。
用回数を可能な範囲で解析することにより、レジスタ割
付け優先度を正確に評価して効率の良いレジスタ割付け
を行い、プログラム実行速度を向上させることを目的と
する。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、図1に示すように、原始プログラム(102)を入
力し、プログラム内で使用される各変数の動的な使用回
数を解析して結果を記憶する処理(103)と、その記
憶された情報(104)を参照する各変数のレジスタ割
付け優先順位決定処理(105)をコンパイラ(10
1)に設けたものである。
め、図1に示すように、原始プログラム(102)を入
力し、プログラム内で使用される各変数の動的な使用回
数を解析して結果を記憶する処理(103)と、その記
憶された情報(104)を参照する各変数のレジスタ割
付け優先順位決定処理(105)をコンパイラ(10
1)に設けたものである。
【0012】
【作用】変数の動的な使用回数を解析する処理(10
3)、および変数のレジスタ割付け優先順位決定処理
(105)は、コンパイラ(101)の一部分である。
コンパイラが起動され、プログラムの字句解析,構文解
析、あるいはデータフロー解析などの解析処理が動作す
る。これらの解析結果をもとに、さらに各変数の動的な
使用回数を解析する処理(103)が動作して、プログ
ラム内で使用される各変数の動的な使用回数を可能な範
囲で解析し、その結果を記憶する。変数のレジスタ割付
け優先順位決定処理(105)が動作すると、記憶して
いた各変数の動的な使用回数についての情報(104)
を参照し、使用回数の多い変数から順にレジスタに割付
くよう優先順位を決定する。レジスタ割付け処理(10
6)では、各変数の割付け優先順位にしたがって、割付
け可能なレジスタに変数を割付ける。これにより、目的
であるレジスタ使用効率の良いレジスタ割付けを行い、
目的プログラム(107)の実行速度向上を図る。
3)、および変数のレジスタ割付け優先順位決定処理
(105)は、コンパイラ(101)の一部分である。
コンパイラが起動され、プログラムの字句解析,構文解
析、あるいはデータフロー解析などの解析処理が動作す
る。これらの解析結果をもとに、さらに各変数の動的な
使用回数を解析する処理(103)が動作して、プログ
ラム内で使用される各変数の動的な使用回数を可能な範
囲で解析し、その結果を記憶する。変数のレジスタ割付
け優先順位決定処理(105)が動作すると、記憶して
いた各変数の動的な使用回数についての情報(104)
を参照し、使用回数の多い変数から順にレジスタに割付
くよう優先順位を決定する。レジスタ割付け処理(10
6)では、各変数の割付け優先順位にしたがって、割付
け可能なレジスタに変数を割付ける。これにより、目的
であるレジスタ使用効率の良いレジスタ割付けを行い、
目的プログラム(107)の実行速度向上を図る。
【0013】
【実施例】以下、本発明の一実施例を、図1,図2,図
3により説明する。
3により説明する。
【0014】図1は、本発明の基本的概念を示したもの
である。
である。
【0015】図2は、レジスタ割付け優先度の評価方法
について従来技術と本発明との違いを説明するプログラ
ム例である。
について従来技術と本発明との違いを説明するプログラ
ム例である。
【0016】図3は、本発明の技術的手段である、プロ
グラム内で使用される各変数の動的な使用回数を解析す
る処理のフローチャートである。
グラム内で使用される各変数の動的な使用回数を解析す
る処理のフローチャートである。
【0017】次に、実施例の動作を図2のプログラム例
を用いて詳細に説明する。
を用いて詳細に説明する。
【0018】(1) コンパイラに対し、プログラム
(201)の翻訳を指示すると、コンパイラは、プログ
ラムの字句解析,構文解析、およびデータフロー解析な
どに続いて、プログラム内の各変数の動的な使用回数を
解析する処理(103)を図3の処理フローに示す順序
で実行していく。
(201)の翻訳を指示すると、コンパイラは、プログ
ラムの字句解析,構文解析、およびデータフロー解析な
どに続いて、プログラム内の各変数の動的な使用回数を
解析する処理(103)を図3の処理フローに示す順序
で実行していく。
【0019】まず、各変数毎に変数の使用回数カウンタ
uc(104)を設けて0で初期化する(301)。
uc(104)を設けて0で初期化する(301)。
【0020】つぎに、文単位で変数の使用回数を解析し
ていくが、文がループ制御文(FORTRAN77 の場合DO
文)か否か、で処理が異なる(302)。
ていくが、文がループ制御文(FORTRAN77 の場合DO
文)か否か、で処理が異なる(302)。
【0021】ループ制御文なら、ループの繰り返し条件
(FORTRAN の場合DO制御変数の初期値,終値,増分
値)から、ループ回数Lが解析可能かどうか判断する
(303)。
(FORTRAN の場合DO制御変数の初期値,終値,増分
値)から、ループ回数Lが解析可能かどうか判断する
(303)。
【0022】解析可能な場合、ループの繰り返し条件か
らLを求める(304)。
らLを求める(304)。
【0023】解析不可であれば、コンパイラがLの値を
仮定する(305)。
仮定する(305)。
【0024】次に、ループ内での各変数の使用回数lu
を解析する。その際、ループ内に、さらに入れ子のルー
プがある場合、入れ子のループに対して自処理(10
3)を再帰的に使用して、入れ子ループ内各変数の動的
な使用回数を求める(306)。
を解析する。その際、ループ内に、さらに入れ子のルー
プがある場合、入れ子のループに対して自処理(10
3)を再帰的に使用して、入れ子ループ内各変数の動的
な使用回数を求める(306)。
【0025】次に、ループ内各変数について、lu×L
を求めてこれをuc(104)に加算することで、ルー
プ内各変数の動的な使用回数を解析する(307)。
を求めてこれをuc(104)に加算することで、ルー
プ内各変数の動的な使用回数を解析する(307)。
【0026】ループ制御文以外なら、文の中で1回使用
される毎にuc(104)を1ずつカウントアップして
いく(308)。
される毎にuc(104)を1ずつカウントアップして
いく(308)。
【0027】最後に、次の文があれば、文単位に変数使
用回数を解析する処理に戻り、文がなければ、処理を終
える(309)。
用回数を解析する処理に戻り、文がなければ、処理を終
える(309)。
【0028】上記処理によって各変数のuc(104)
の値は、その変数の動的な使用回数になっている。
の値は、その変数の動的な使用回数になっている。
【0029】(2) 次に、レジスタ割付け優先順位決
定処理(105)を行い、uc(104)の値を参照するこ
とにより優先順位を決定する。
定処理(105)を行い、uc(104)の値を参照するこ
とにより優先順位を決定する。
【0030】(3) 最後に、レジスタ割付け処理(1
06)を行い、割付け可能なレジスタに対し優先順位に
したがって変数を割付けて、目的プログラム(107)
を作成する。
06)を行い、割付け可能なレジスタに対し優先順位に
したがって変数を割付けて、目的プログラム(107)
を作成する。
【0031】上記処理によって、各変数のレジスタ割付
け優先度評価値は、数2の計算を入れ子の最も深いルー
プから浅い方へ順次繰り返していくことで求められる。
け優先度評価値は、数2の計算を入れ子の最も深いルー
プから浅い方へ順次繰り返していくことで求められる。
【0032】
【数2】
【0033】ここで、 n :ループの入れ子深さ数 Un:入れ子深さnのループ内での変数の動的使用回数 Cn:入れ子深さnのループでの変数使用回数 Ln:入れ子深さnのループのループ回数 を示す。また、Cnは、数3で求められる。
【0034】
【数3】
【0035】ここで、 En :入れ子深さnのループ
内で、かつ 入れ子深さn+1のループ外での変数使用回数 Un+1:入れ子深さn+1のループ内での変数の動的使
用回数 を示す。
内で、かつ 入れ子深さn+1のループ外での変数使用回数 Un+1:入れ子深さn+1のループ内での変数の動的使
用回数 を示す。
【0036】図2のプログラムのうち、変数A,B,C
に着目して、上記の計算を行った結果を表2に示す。
に着目して、上記の計算を行った結果を表2に示す。
【0037】
【表2】
【0038】この結果によれば、動的な使用回数が最も
多い変数Cの優先度が最も高くなる。この優先順位にし
たがってレジスタ割付けを行うと、使用効率の良い割付
け結果になる。
多い変数Cの優先度が最も高くなる。この優先順位にし
たがってレジスタ割付けを行うと、使用効率の良い割付
け結果になる。
【0039】また、従来技術との比較を行った結果を表
3に示す。これは、当社HITACE−7700計算機を使用
し、レジスタアクセス命令=1マシンサイクル、メモリ
アクセス命令=5マシンサイクルとした条件での評価で
ある。
3に示す。これは、当社HITACE−7700計算機を使用
し、レジスタアクセス命令=1マシンサイクル、メモリ
アクセス命令=5マシンサイクルとした条件での評価で
ある。
【0040】
【表3】
【0041】この結果によれば、従来技術によるレジス
タ割付け最適化で400マシンサイクルの高速化しかで
きなかったものが、本発明により4000マシンサイク
ルの高速化になり、20%以上の高速化効果があること
になる。
タ割付け最適化で400マシンサイクルの高速化しかで
きなかったものが、本発明により4000マシンサイク
ルの高速化になり、20%以上の高速化効果があること
になる。
【0042】
【発明の効果】上記実施例に示したように、プログラム
実行速度の向上に効果がある。この効果の利用方法の一
例を、図4に示す。これは、制御用計算機を用いた製品
形状の自動検査システムの概略図である。
実行速度の向上に効果がある。この効果の利用方法の一
例を、図4に示す。これは、制御用計算機を用いた製品
形状の自動検査システムの概略図である。
【0043】検査ライン(416)上を製品(415)
が流れ、カメラ(414)の前を通過する。カメラ(4
14)は画像情報をI/Oインタフェース(412)を
通じて制御用計算機(401)に送信する。一方、制御
用計算機では、制御をおこなう目的プログラムは主メモ
リ(406)上にロードされており、CPU(408)は
外部バス(411)を介して主メモリ上の命令をフェッ
チして動作する。同様に、I/Oインタフェース(41
2)から得られた情報も、外部バス(411)を通して
CPU(408)に送られる。動作中の目的プログラム
は画像情報を解析し、製品形状に不良がないか否かを識
別する。不良だと認識された場合、外部バス(41
1),I/Oインタフェース(412)を通して不良品
抜取りロボット(413)に制御信号を送り、不良製品
の抜取りを指示する。
が流れ、カメラ(414)の前を通過する。カメラ(4
14)は画像情報をI/Oインタフェース(412)を
通じて制御用計算機(401)に送信する。一方、制御
用計算機では、制御をおこなう目的プログラムは主メモ
リ(406)上にロードされており、CPU(408)は
外部バス(411)を介して主メモリ上の命令をフェッ
チして動作する。同様に、I/Oインタフェース(41
2)から得られた情報も、外部バス(411)を通して
CPU(408)に送られる。動作中の目的プログラム
は画像情報を解析し、製品形状に不良がないか否かを識
別する。不良だと認識された場合、外部バス(41
1),I/Oインタフェース(412)を通して不良品
抜取りロボット(413)に制御信号を送り、不良製品
の抜取りを指示する。
【0044】計算機内部でのプログラムの動作を考察す
ると、プログラム内の変数を参照あるいは書き込みする
場合、変数が主メモリ上の変数領域(407)にある場
合と、CPU(408)内の汎用レジスタ(409)に
割り付けられている場合とでは、後者の方が外部バス
(411)を経由しないため高速にアクセスでき、プロ
グラムの動作を高速化できる。したがって、本発明によ
る、効率のよいレジスタ割付け最適化処理(405)を
有するコンパイラ(404)を使用して、原始プログラ
ム(402)をコンパイルした場合、目的プログラムの
実行速度が向上し、処理系の応答時間が短くなる。
ると、プログラム内の変数を参照あるいは書き込みする
場合、変数が主メモリ上の変数領域(407)にある場
合と、CPU(408)内の汎用レジスタ(409)に
割り付けられている場合とでは、後者の方が外部バス
(411)を経由しないため高速にアクセスでき、プロ
グラムの動作を高速化できる。したがって、本発明によ
る、効率のよいレジスタ割付け最適化処理(405)を
有するコンパイラ(404)を使用して、原始プログラ
ム(402)をコンパイルした場合、目的プログラムの
実行速度が向上し、処理系の応答時間が短くなる。
【0045】この結果、製品形状不良を認識してから不
良品抜取りまでの時間を短縮することができ、検査ライ
ンの高速化による生産性の向上、あるいはカメラとロボ
ットとの距離を短くして省スペース化を図ることができ
る。
良品抜取りまでの時間を短縮することができ、検査ライ
ンの高速化による生産性の向上、あるいはカメラとロボ
ットとの距離を短くして省スペース化を図ることができ
る。
【図1】本発明の基本的概念を示す図である。
【図2】レジスタ割付け優先度評価のプログラム例を示
す図である。
す図である。
【図3】変数の動的使用回数解析処理フローチャートで
ある。
ある。
【図4】本発明による最適化方式を採用するコンパイラ
のシステム適用例を示す図である。
のシステム適用例を示す図である。
104…各変数の動的な使用回数を解析する処理、10
6…各変数の使用回数を記憶する領域、108…レジス
タ割付け優先順位決定処理。
6…各変数の使用回数を記憶する領域、108…レジス
タ割付け優先順位決定処理。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 秀樹 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 太田 孝徳 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 浅井 治 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内
Claims (1)
- 【請求項1】レジスタを備える計算機上で動作する目的
プログラムを生成するコンパイラにおいて、プログラム
内で使用される各変数についてプログラム実行時の動的
な使用回数を解析する処理と、これを基に各変数のレジ
スタ割付け優先度を評価し、割付け順位を決定する処理
を持つ、レジスタ割付け最適化処理を設け、プログラム
の実行時に最も多く使用される変数から順にレジスタに
割付けることを特徴とするコンパイラ最適化方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4011631A JPH05204660A (ja) | 1992-01-27 | 1992-01-27 | コンパイラ最適化方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4011631A JPH05204660A (ja) | 1992-01-27 | 1992-01-27 | コンパイラ最適化方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05204660A true JPH05204660A (ja) | 1993-08-13 |
Family
ID=11783293
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4011631A Pending JPH05204660A (ja) | 1992-01-27 | 1992-01-27 | コンパイラ最適化方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05204660A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7305665B2 (en) | 2002-06-12 | 2007-12-04 | International Business Machines Corporation | Compiler register allocation and compilation |
| CN117573205A (zh) * | 2023-11-17 | 2024-02-20 | 摩尔线程智能科技(北京)有限责任公司 | 基于simt的寄存器分配方法、装置、设备和存储介质 |
-
1992
- 1992-01-27 JP JP4011631A patent/JPH05204660A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7305665B2 (en) | 2002-06-12 | 2007-12-04 | International Business Machines Corporation | Compiler register allocation and compilation |
| US8104026B2 (en) | 2002-06-12 | 2012-01-24 | International Business Machines Corporation | Compiler register allocation and compilation |
| CN117573205A (zh) * | 2023-11-17 | 2024-02-20 | 摩尔线程智能科技(北京)有限责任公司 | 基于simt的寄存器分配方法、装置、设备和存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0214751B1 (en) | A method for vectorizing and compiling object code | |
| US5457799A (en) | Optimizer for program loops | |
| Callahan et al. | Interprocedural constant propagation | |
| JP2749039B2 (ja) | オブジェクト生成方法 | |
| US5790862A (en) | Resource assigning apparatus which assigns the variable in a program to resources | |
| US6023583A (en) | Optimized variable allocation method, optimized variable allocation system and computer-readable memory containing an optimized variable allocation program | |
| JP2500079B2 (ja) | プログラムの最適化方法及びコンパイラ・システム | |
| US6247173B1 (en) | Computer compiler optimizer for reducing computer resource consumption during dependence analysis after loop unrolling | |
| US7089545B2 (en) | Detection of reduction variables in an assignment statement | |
| JPH0519173B2 (ja) | ||
| US5642512A (en) | Compiler with improved live range interference investigation | |
| US6425124B1 (en) | Resource allocation device for reducing the size and run time of a machine language program | |
| US6360360B1 (en) | Object-oriented compiler mechanism for automatically selecting among multiple implementations of objects | |
| US6282704B1 (en) | Method for analyzing array summary for loop including loop exit statement | |
| KR100597414B1 (ko) | 데이터 처리 장치 및 이를 이용한 레지스터 할당 방법 | |
| Almasi et al. | MaJIC: A MATLAB just-in-time compiler | |
| US6421824B1 (en) | Method and apparatus for producing a sparse interference graph | |
| JPH05204660A (ja) | コンパイラ最適化方式 | |
| Johansson et al. | Linear scan register allocation in a high-performance erlang compiler | |
| KR20090059337A (ko) | 내장형 소프트웨어의 성능 향상을 위한 컴파일러의레지스터 할당 방법 | |
| JPH08314727A (ja) | 資源割付装置 | |
| JPH02236638A (ja) | レジスタ割付け管理方式 | |
| JPH06290159A (ja) | 並列計算機のプロセス割当方法 | |
| Chow et al. | Register allocation by priority-based coloring | |
| JPS62219130A (ja) | プログラムの最適化方式 |