JP2853604B2 - 無限ループのベクトル化処理方式 - Google Patents
無限ループのベクトル化処理方式Info
- Publication number
- JP2853604B2 JP2853604B2 JP9608495A JP9608495A JP2853604B2 JP 2853604 B2 JP2853604 B2 JP 2853604B2 JP 9608495 A JP9608495 A JP 9608495A JP 9608495 A JP9608495 A JP 9608495A JP 2853604 B2 JP2853604 B2 JP 2853604B2
- Authority
- JP
- Japan
- Prior art keywords
- loop
- value
- instruction
- storage area
- repetitions
- 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.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
Description
プの記述が許されるプログラミング言語で記述されたソ
ースプログラムのコンパイル時に、繰り返し数が不明な
ループをベクトル化する無限ループのベクトル化処理方
式に関する。
プの繰り返し数を構成する初期値、終値、増分値が変数
である等の理由によってコンパイル時に繰り返し数が不
明な場合、ループ内で使用している配列の宣言時の大き
さなどで繰り返し数を仮定することによりベクトル命令
列を生成していた。このような方法では、コンパイラが
仮定した繰り返し数より実際の繰り返し数が大きい場
合、ベクトル作業領域が不足し、その結果ベクトル作業
領域以外の領域をアクセスすることによって実行時例外
が発生したり、他のベクトル命令のために用意したベク
トル作業領域をアクセスすることによって実行結果が不
正になる等の問題点があった。
としては、例えば、特開平3−136167号公報に開
示される「自動ベクトル化方式」がある。この自動ベク
トル化方式は、ベクトル処理用の中間言語に変換する
際、ベクトル命令の実行による中間結果を格納するベク
トル作業領域を用意することで、ベクトル化可能なルー
プ構造の繰り返し回数が確定できない時に、繰り返し数
を仮定する手段と、該繰り返し数をもとに、ベクトル作
業領域が必要とする大きさを算出する手段と、ベクトル
作業領域を必要とするベクトル命令が実行される時に、
実際の繰り返し回数が仮定した繰り返し回数を超えてい
るかどうかを判定するオブジェクトコードを生成するた
めの中間言語を作成する手段と、実際の繰り返し回数が
仮定した繰り返し回数を超えている時に、同一のベクト
ル作業領域を使用するベクトル命令を複数回実行するよ
うなオブジェクトコードを生成するための中間言語を作
成する手段を備え、これによってコンパイラが仮定した
繰り返し数よりも実際に実行される繰り返し数が大きい
場合でもベクトル化を可能としている。
の方式では、ベクトル化される言語として繰り返し数が
負あるいは無限大にはならない言語、例えば代表的なF
ORTRANのDO文等に適用する場合のみを考慮して
おり、繰り返し数が負の数あるいは無限大になる言語へ
の適用についての考慮はされていなかった。従って、従
来の方式により繰り返し数が負の数あるいは無限大にな
る言語のループをベクトル化してしまうと、実行時例外
や実行結果の不正などが発生する問題があった。
大になる言語としてC言語について述べると、例えばC
言語における for(i=(初期値);i<(終値);i+=(増分
値)) の形のループの場合、ループの繰り返し数は 繰り返し数=(終値−初期値)/増分値 という計算式によって算出されるが、制御変数の増分値
が”0”である場合は実行時に0除算が発生し、実行時
例外を引き起こしていた。
合、または初期値<終値でかつ増分値<0の場合、本来
は無限に回るループであるが、繰り返し数を計算すると
負の数となり、繰り返し回数が不正になる場合があった
プの繰り返し数を構成する初期値、終値、増分値が変数
である等の理由により、コンパイル時に繰り返し数が不
明なループに対しても、ベクトル化された目的プログラ
ムの動作がベクトル化されていない場合の動作と同じに
なることを保証する無限ループのベクトル化処理方式を
提供することを目的とする。
め、本発明は、ソースプログラムをコンパイルしてベク
トル化した目的プログラムを生成するコンパイラの繰り
返し回数がコンパイル実行時まで確定しないループをベ
クトル化するベクトル化処理方式において、コンパイル
実行時に無限ループを判定し、最大ベクトルレジスタ長
とループの繰り返し数を計算する命令列を生成する無限
ループ判定命令生成手段と、ループを前記最大ベクトル
レジスタ長毎に分割して実行する命令列を生成するベク
トル命令生成手段と、ループの終了判定を行う命令列を
生成するループ終了判定命令生成手段と、前記繰り返し
数をベクトル演算毎に減少させる値を格納する繰り返し
数減分値記憶手段と、前記繰り返し数を格納する繰り返
し数記憶手段を備え、無限ループ判定命令生成手段は、
コンパイル実行時にループの増分値が”0”かまたは繰
り返し数が負の場合に、前記繰り返し数減分値記憶手段
に”0”を、前記繰り返し数記憶手段に前記目的プログ
ラムを実行する計算機の最大ベクトルレジスタ長を格納
し、それ以外の場合に、前記繰り返し数減分値記憶手段
に前記最大ベクトルレジスタ長を格納し、さらに前記繰
り返し数記憶手段にループの繰り返し数を格納する命令
列を生成する構成としている。
定命令生成手段は、ループの増分値が”0”または繰り
返し数が負である場合以外の時に、ループの終値から初
期値を引いた値を増分値で除算した値を、前記ループの
繰り返し数として前記繰り返し数記憶領域に格納する命
令を生成する。さらに、ベクトル命令生成手段は、ルー
プ内の命令列から、前記繰り返し数記憶手段の内容と前
記最大ベクトルレジスタ長のうち、小さい方の値をベク
トル長とするベクトル命令列を生成し、前記繰り返し数
記憶手段の内容から前記繰り返し数減分値記憶手段の内
容を減算した値を前記繰り返し数記憶手段に格納する命
令列を生成し、ループ終了判定命令生成手段は、前記繰
り返し数記憶手段の内容が正の値である間、継続して前
記ベクトル命令生成手段によって生成された命令列を実
行するための命令列を生成する。
ースプログラムをコンパイルしてベクトル化した目的プ
ログラムを生成するコンパイラの繰り返し回数がコンパ
イル実行時まで確定しないループをベクトル化するベク
トル化処理方式において、コンパイル実行時にループの
増分値が”0”かまたは繰り返し数が負の時に、繰り返
し数をベクトル演算毎に減少させる値を格納する繰り返
し数減分値記憶領域に”0”を、繰り返し数を格納する
繰り返し数記憶領域に前記目的プログラムを実行する計
算機の最大ベクトルレジスタ長を格納し、それ以外の時
に、前記繰り返し数減分値記憶領域に前記最大ベクトル
レジスタ長を格納し、さらに前記繰り返し数記憶領域に
ループの繰り返し数を格納する命令列を生成する無限ル
ープ判定命令生成手段と、ループ内の命令列から、前記
繰り返し数記憶領域の内容と前記最大ベクトルレジスタ
長のうち、小さい方の値をベクトル長とするベクトル命
令列を生成し、前記繰り返し数記憶領域の内容から前記
繰り返し数減分値記憶領域の内容を減算した値を前記繰
り返し数記憶領域に格納する命令列を生成するベクトル
命令生成手段と、前記繰り返し数記憶領域の内容が正の
値である間、継続して前記ベクトル命令生成手段によっ
て生成された命令列を実行するための命令列を生成する
ループ終了判定命令生成手段とを備える構成としてい
る。
定命令生成手段は、ループの増分値が”0”または繰り
返し数が負である場合以外の時に、ループの終値から初
期値を引いた値を増分値で除算した値を、前記ループの
繰り返し数として前記繰り返し数記憶領域に格納する命
令を生成する。
て詳細に説明する。図1は本発明のベクトル化処理方式
の構成を示すブロック図である。図1において、本実施
例は、ソースプログラム10と、コンパイラ20と、目
的プログラム30から構成される。そして、コンパイラ
20は、無限ループ判定命令生成手段40と、ベクトル
命令生成手段50と、ループ終了命令生成手段60と、
繰り返し数減分値記憶領域70と、繰り返し数記憶領域
80によって構成される。
トル化可能なループの繰り返し数が、コンパイル時に確
定できない場合に、実行時にループの増分値が”0”で
あるかまたは繰り返し数が負の数になる場合、繰り返し
数減分値記憶領域70に”0”を、繰り返し数記憶領域
80に目的プログラム30を実行する計算機の最大ベク
トルレジスタ長を格納する命令列を生成し、それ以外の
場合繰り返し数減分値記憶領域70に目的プログラム3
0を実行する計算機の最大ベクトルレジスタ長を格納
し、さらに繰り返し数記憶領域80にループの繰り返し
数を格納する命令列を生成する。
命令列から、繰り返し数記憶領域80の内容と目的プロ
グラム30を実行する計算機の最大ベクトルレジスタ長
のうち小さい方の値をベクトル長とするベクトル命令列
を生成し、繰り返し数記憶領域80の内容から繰り返し
数減分値記憶領域70の内容を引いた値を繰り返し数記
憶領域80に格納する命令列を生成する。
返し数記憶領域80の内容が正である間、継続してベク
トル命令生成手段50によって生成された命令列を実行
するための命令列を生成する。
なコンパイル時に繰り返し数が不明なループがソースプ
ログラム10に含まれていた場合について、本実施例の
ベクトル化処理方式を適用する場合を説明する。図2の
プログラムにおいては、for文の増分値nが”0”以
下の時、実行時に該forループは無限ループになる。
しかし、増分値nが”0”の時、繰り返し数の計算時に
0除算が発生してしまう。
に含まれていた場合、コンパイル時に繰り返し数が不明
なループが現れたとき、無限ループ判定命令生成手段4
0は、図4に示すように、実行時に増分値nが”0”の
場合または繰り返し数が負の場合に、繰り返し数減分値
記憶領域70に”0”を格納し、繰り返し数記憶領域8
0に目的プログラム30を実行する計算機の最大ベクト
ルレジスタ長を格納する命令列を生成し、それ以外の場
合は、繰り返し数減分値記憶領域70に目的プログラム
30を実行する計算機の最大ベクトルレジスタ長を格納
し、繰り返し数記憶領域80に{(終値−初期値)/増
分値=(10−0)/n}で求まる値を格納する命令列
を生成する。
プ内の命令列から、目的プログラム30を実行する計算
機の最大ベクトルレジスタ長と繰り返し数記憶領域80
に格納されている値のうち、小さい方の値をベクトル長
とするベクトル命令列を生成する。
は、繰り返し数記憶領域80の内容が正の数である間、
ベクトル命令生成手段50によって生成された命令列を
実行する命令列を生成する。
2のループを含むソースプログラム10をコンパイルし
た目的プログラム30のforループの部分の実行時の
処理の流れを示している。以下、増分値nが”0”より
小さい場合と、”0”の場合と、”0”より大きい場合
の3つに場合分けして、目的プログラム30の該for
ループの部分の実行処理内容を、図5に基づいて説明す
る。
テップ501)。この場合、増分値nが”0”より小さ
いので、ステップ502に進む。 (2)繰り返し数記憶領域80に繰り返し数{=(10
−0)/n}の値が格納される(ステップ502)。 (3)繰り返し数記憶領域80の内容が”0”より大き
いかを検査する(ステップ503)。この場合、”0”
より小さいのでステップ504に進む。 (4)繰り返し数減分値記憶領域70に”0”が格納さ
れ、繰り返し数記憶領域80に目的プログラム30を実
行する計算機の最大ベクトルレジスタ長が格納される
(ステップ504)。 (5)目的プログラム30を実行する計算機の最大ベク
トルレジスタ長と繰り返し数記憶領域80に格納される
値のうち、小さい方の値をベクトル長とする(ステップ
506)。 (6)ベクトル化されたループ本体の命令列を実行する
(ステップ507)。 (7)繰り返し数記憶領域80の内容から繰り返し数減
分値記憶領域70の内容を減算する(ステップ50
8)。この時、繰り返し数減分値記憶領域70の内容
は、”0”であるため、繰り返し数記憶領域80の内容
は常に目的プログラム30を実行する計算機の最大ベク
トルレジスタ長となる。 (8)繰り返し数記憶領域80の内容が正の値ならばス
テップ506に戻る(ステップ509)。これにより、
ループ内の命令列を無限に実行する。
501)。ここでは、増分値nが”0”であるのでステ
ップ504に進む。 (2)繰り返し数減分値記憶領域70に”0”、繰り返
し数記憶領域80に目的プログラム30を実行する計算
機の最大ベクトルレジスタ長が格納される(ステップ5
04)。 (3)目的プログラム30を実行する計算機の最大ベク
トルレジスタ長と繰り返し数記憶領域80に格納される
値のうち、小さい方の値をベクトル長とする(ステップ
506)。 (4)ベクトル化されたループ本体の命令列を実行する
(ステップ507)。 (5)繰り返し数記憶領域80の内容から繰り返し数減
分値記憶領域70の内容を減算する(ステップ50
8)。この時、繰り返し数減分値記憶領域70の内容
は”0”であるため、繰り返し数記憶領域80の内容は
常に目的プログラム30を実行する計算機の最大ベクト
ルレジスタ長となる。 (6)繰り返し数記憶領域80の内容が正の値ならばス
テップ506に戻る(ステップ509)。これにより、
ループ内の命令列を無限に実行する。
501)。ここでは、増分値nが”0”より大きいので
ステップ502に進む。 (2)繰り返し数記憶領域80に繰り返し数{=(10
一0)/n}の値が格納される(ステップ502)。 (3)繰り返し数記憶領域80の内容が”0”より大き
いかを検査する(ステップ503)。ここでは、”0”
より大きいのでステップ505に進む。 (4)繰り返し数減分値記憶領域70に目的プログラム
30を実行する計算機の最大ベクトルレジスタ長を格納
する(ステップ505)。 (5)目的プログラム30を実行する計算機の最大ベク
トルレジスタ長と繰り返し数記憶領域80に格納される
値のうち、小さい方の値をベクトル長とする(ステップ
506)。 (6)ベクトル化されたループ本体の命令列を実行する
(ステップ507)。 (7)繰り返し数記憶領域80の内容から繰り返し数減
分値記憶領域70の内容を減算する(ステップ50
8)。 (8)繰り返し数記憶領域80の内容が正の値ならばス
テップ506に戻る(ステップ509)。これにより、
最大ベクトルレジスタ長毎にループ内のベクトル命令を
実行する。
なプログラムがソースプログラム10に含まれていた場
合について本実施例のベクトル化処理方式を適用する場
合を説明する。図3のプログラムにおいては、for文
の増分値nが”0”以上の時、実行時に無限ループにな
る。また、増分値nが”0”の時、繰り返し数の計算時
に0除算が発生する。
に含まれていた場合、無限ループ判定命令生成手段40
は、図4に示すように、実行時に増分値nが”0”の場
合または繰り返し数が負の場合に繰り返し数減分値記憶
領域70に”0”、繰り返し数記憶領域80に目的プロ
グラム30を実行する計算機の最大ベクトルレジスタ長
を格納する命令列を生成し、それ以外の場合は、繰り返
し数減分値記憶領域70に目的プログラム30を実行す
る計算機の最大ベクトルレジスタ長を、繰り返し数記憶
領域80に{(終値−初期値)/増分値=(0−10)
/n}の値を格納する命令列を生成する。
プ内の命令列から、目的プログラム30を実行する計算
機の最大ベクトルレジスタ長と繰り返し数記憶領域80
内の値のうち、小さい方の値をベクトル長とするベクト
ル命令列を生成する。
は、繰り返し数記憶領域80の内容が正の数である間、
ベクトル命令生成手段50によって生成された命令列を
実行する命令列を生成する。
上の方法でベクトル化された図3のソースプログラム1
0をコンパイルした目的プログラム30のforループ
の部分の実行時の処理について、増分値nが”0”より
小さい場合と、”0”である場合と、”0”より大きい
場合に分けて図5に基づいて説明する。
プ501)。ここでは、増分値nが”0”より小さいの
でステップ502に進む。 (2)繰り返し数記憶領域80に繰り返し数{=(0一
10)/n}の値が格納される(ステップ502)。 (3)繰り返し数記憶領域80の内容が”0”より大き
いかを検査する(ステップ503)。この場合、”0”
より大きいのでステップ505に進む。 (4)繰り返し数減分値記憶領域70に目的プログラム
30を実行する計算機の最大ベクトルレジスタ長を格納
する(ステップ505)。 (5)目的プログラム30を実行する計算機の最大ベク
トルレジスタ長と繰り返し数記憶領域80に格納される
値のうち、小さい方の値をベクトル長とする(ステップ
506)。 (6)ベクトル化されたループ本体の命令列を実行する
(ステップ507)。 (7)繰り返し数記憶領域80の内容から繰り返し数減
分値記憶領域70の内容が減算される(ステップ50
8)。 (8)繰り返し数記憶領域80の内容が正の値ならばス
テップ506に戻る(ステップ509)。これにより、
最大ベクトルレジスタ長毎にループ内のベクトル命令を
実行する。
プ501)。ここでは、増分値nが”0”であるのでス
テップ504に進む。 (2)繰り返し数減分値記憶領域70に”0”、繰り返
し数記憶領域80に目的プログラム30を実行する計算
機の最大ベクトルレジスタ長が格納される(ステップ5
04)。 (3)目的プログラム30を実行する計算機の最大ベク
トルレジスタ長と繰り返し数記憶領域80に格納される
値のうち、小さい方の値をベクトル長とする(ステップ
506)。 (4)ベクトル化されたループ本体の命令列を実行する
(ステップ507)。 (5)繰り返し数記憶領域8の内容から繰り返し数減分
値記憶領域7の内容が減算される(ステップ508)。
この時、繰り返し数減分値記憶領域70の内容は”0”
であるため、繰り返し数記憶領域80の内容は常に目的
プログラム30を実行する計算機の最大ベクトルレジス
タ長となる。 (6)繰り返し数記憶領域80の内容が正の値ならばス
テップ506に戻る(ステップ509)。これにより、
ループ内の命令列を無限に実行する。
プ501)。ここでは、増分値nが”0”より大きいの
でステップ502に進む。 (2)繰り返し数記憶領域80に繰り返し数{=(0−
10)/n}の値が格納されるステップ(502)。 (3)繰り返し数記憶領域80の内容が”0”より大き
いかが検査される(ステップ503)。ここでは、”
0”より小さいのでステップ504に進む。 (4)繰り返し数減分値記憶領域70に”0”、繰り返
し数記憶領域80に目的プログラム30を実行する計算
機の最大ベクトルレジスタ長が格納される(ステップ5
04)。 (5)目的プログラム30を実行する計算機の最大ベク
トルレジスタ長と繰り返し数記憶領域80に格納される
値のうち、小さい方の値をベクトル長とする(ステップ
506)。 (6)ベクトル化されたループ本体の命令列を実行する
(ステップ507)。 (7)繰り返し数記憶領域80の内容から繰り返し数減
分値記憶領域70の内容が減算される(ステップ50
8)。この時、繰り返し数減分値記憶領域70の内容
は”0”であるため、繰り返し数記憶領域80の内容は
常に目的プログラム30を実行する計算機の最大ベクト
ルレジスタ長となる。 (8)繰り返し数記憶領域8の0内容が正の値ならばス
テップ506に戻る(ステップ509)。これにより、
ループ内の命令列を無限に実行する。
したが、本発明は必ずしも上記実施例に限定されるもの
ではない。
のベクトル化処理方式によれば、ループの繰り返し数を
構成する初期値、終値、増分値が変数であるなどの理由
により、コンパイル時に繰り返し数が不明なループに対
しても、実行時に繰り返し数を正しく計算する命令列を
生成することにより、従来のような実行時例外や実行結
果の不正等が発生することが防止され、ベクトル化され
た実行プログラムの動作がベクトル化されない場合と同
じであることが保証される。
適用したコンパイラの構成を示すブロック図である。
グラムの第1の具体例を示す図である。
グラムの第2の具体例を示す図である。
る命令の内容を説明する図である。
ルした目的プログラムを実行させた処理内容を説明する
フローチャートである。
Claims (5)
- 【請求項1】 ソースプログラムをコンパイルしてベク
トル化した目的プログラムを生成するコンパイラの繰り
返し回数がコンパイル実行時まで確定しないループをベ
クトル化するベクトル化処理方式において、 コンパイル実行時に無限ループを判定し、最大ベクトル
レジスタ長とループの繰り返し数を計算する命令列を生
成する無限ループ判定命令生成手段と、 ループを前記最大ベクトルレジスタ長毎に分割して実行
する命令列を生成するベクトル命令生成手段と、 ループの終了判定を行う命令列を生成するループ終了判
定命令生成手段と、 前記繰り返し数をベクトル演算毎に減少させる値を格納
する繰り返し数減分値記憶手段と、 前記繰り返し数を格納する繰り返し数記憶手段を備え、 前記無限ループ判定命令生成手段は、コンパイル実行時
にループの増分値が”0”かまたは繰り返し数が負の場
合に、前記繰り返し数減分値記憶手段に”0”を、前記
繰り返し数記憶手段に前記目的プログラムを実行する計
算機の最大ベクトルレジスタ長を格納し、それ以外の場
合に、前記繰り返し数減分値記憶手段に前記最大ベクト
ルレジスタ長を格納し、さらに前記繰り返し数記憶手段
にループの繰り返し数を格納する命令列を生成する こと
を特徴とする無限ループのベクトル化処理方式。 - 【請求項2】 無限ループ判定命令生成手段は、ループ
の増分値が”0”または繰り返し数が負である場合以外
の時に、ループの終値から初期値を引いた値を増分値で
除算した値を、前記ループの繰り返し数として前記繰り
返し数記憶領域に格納する命令を生成することを特徴と
する請求項1に記載の無限ループのベクトル化処理方
式。 - 【請求項3】 前記ベクトル命令生成手段は、ループ内
の命令列から、前記繰り返し数記憶手段の内容と前記最
大ベクトルレジスタ長のうち、小さい方の値をベクトル
長とするベクトル命令列を生成し、前記繰り返し数記憶
手段の内容から前記繰り返し数減分値記憶手段の内容を
減算した値を前記繰り返し数記憶手段に格納する命令列
を生成し、 前記ループ終了判定命令生成手段は、前記繰り返し数記
憶手段の内容が正の値である間、継続して前記ベクトル
命令生成手段によって生成された命令列を実行するため
の命令列を生成することを特徴とする請求項1に記載の
無限ループのベクトル化処理方式。 - 【請求項4】 ソースプログラムをコンパイルしてベク
トル化した目的プログラムを生成するコンパイラの繰り
返し回数がコンパイル実行時まで確定しないループをベ
クトル化するベクトル化処理方式において、 コンパイル実行時にループの増分値が”0”かまたは繰
り返し数が負の時に、繰り返し数をベクトル演算毎に減
少させる値を格納する繰り返し数減分値記憶領域に”
0”を、繰り返し数を格納する繰り返し数記憶領域に前
記目的プログラムを実行する計算機の最大ベクトルレジ
スタ長を格納し、それ以外の時に、前記繰り返し数減分
値記憶領域に前記最大ベクトルレジスタ長を格納し、さ
らに前記繰り返し数記憶領域にループの繰り返し数を格
納する命令列を生成する無限ループ判定命令生成手段
と、 ループ内の命令列から、前記繰り返し数記憶領域の内容
と前記最大ベクトルレジスタ長のうち、小さい方の値を
ベクトル長とするベクトル命令列を生成し、前記繰り返
し数記憶領域の内容から前記繰り返し数減分値記憶領域
の内容を減算した値を前記繰り返し数記憶領域に格納す
る命令列を生成するベクトル命令生成手段と、 前記繰り返し数記憶領域の内容が正の値である間、継続
して前記ベクトル命令生成手段によって生成された命令
列を実行するための命令列を生成するループ終了判定命
令生成手段とを備えることを特徴とする無限ループのベ
クトル化処理方式。 - 【請求項5】 無限ループ判定命令生成手段は、ループ
の増分値が”0”または繰り返し数が負である場合以外
の時に、ループの終値から初期値を引いた値を増分値で
除算した値を、前記ループの繰り返し数として前記繰り
返し数記憶領域に格納する命令を生成することを特徴と
する請求項4に記載の無限ループのベクトル化処理方
式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9608495A JP2853604B2 (ja) | 1995-03-28 | 1995-03-28 | 無限ループのベクトル化処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9608495A JP2853604B2 (ja) | 1995-03-28 | 1995-03-28 | 無限ループのベクトル化処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08272777A JPH08272777A (ja) | 1996-10-18 |
JP2853604B2 true JP2853604B2 (ja) | 1999-02-03 |
Family
ID=14155540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9608495A Expired - Fee Related JP2853604B2 (ja) | 1995-03-28 | 1995-03-28 | 無限ループのベクトル化処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2853604B2 (ja) |
-
1995
- 1995-03-28 JP JP9608495A patent/JP2853604B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08272777A (ja) | 1996-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5978588A (en) | Method and apparatus for profile-based code placement using a minimum cut set of the control flow graph | |
Du et al. | A cost-driven compilation framework for speculative parallelization of sequential programs | |
JPH0814817B2 (ja) | 自動ベクトル化方法 | |
JP2921190B2 (ja) | 並列実行方式 | |
JPH02205929A (ja) | コンパイル方法 | |
US5854933A (en) | Method for optimizing a computer program by moving certain load and store instructions out of a loop | |
US20020083418A1 (en) | Case-reduced verification condition generation system and method using weakest precondition operator expressed using strongest postcondition operators | |
JPH04330527A (ja) | プログラムの最適化方法及びコンパイラ・システム | |
US6009273A (en) | Method for conversion of a variable argument routine to a fixed argument routine | |
JPS61241837A (ja) | 範囲検査の最適化方法 | |
JP3539613B2 (ja) | ループ飛び出し文を含むループに対する配列サマリ解析方法 | |
JP2853604B2 (ja) | 無限ループのベクトル化処理方式 | |
JPH05189472A (ja) | コンパイラのベクトル化処理方式 | |
Gheorghioiu | Statistically determining memory consumption of real-time java threads | |
Chambers | Staged compilation | |
Autrey et al. | Initial results for glacial variable analysis | |
JPH09282173A (ja) | プログラムの静的解析方法 | |
Gordon | A mechanized Hoare logic of state transitions | |
Fauster et al. | Intelligent editor for writing worst-case-execution-time-oriented programs | |
JPH04367033A (ja) | コンパイル方法 | |
JPS6353646A (ja) | 最適目的プログラム生成方式 | |
Kennedy et al. | Optimizing Fortran 90 shift operations on distributed-memory multicomputers | |
JPS61285544A (ja) | コンパイル方法 | |
JP2870218B2 (ja) | 並列実行命令列生成方式 | |
JP2701246B2 (ja) | コンパイラのベクトル化処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 9 Free format text: PAYMENT UNTIL: 20071120 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 10 Free format text: PAYMENT UNTIL: 20081120 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 10 Free format text: PAYMENT UNTIL: 20081120 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20091120 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20091120 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101120 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |