JPH01177165A - 配列の定義/引用関係検査方式 - Google Patents
配列の定義/引用関係検査方式Info
- Publication number
- JPH01177165A JPH01177165A JP96188A JP96188A JPH01177165A JP H01177165 A JPH01177165 A JP H01177165A JP 96188 A JP96188 A JP 96188A JP 96188 A JP96188 A JP 96188A JP H01177165 A JPH01177165 A JP H01177165A
- Authority
- JP
- Japan
- Prior art keywords
- definition
- array
- source program
- citation relationship
- unknown
- 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
- 238000003780 insertion Methods 0.000 claims abstract description 21
- 230000037431 insertion Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000007689 inspection Methods 0.000 claims description 43
- 238000001514 detection method Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- YASYVMFAVPKPKE-UHFFFAOYSA-N acephate Chemical compound COP(=O)(SC)NC(C)=O YASYVMFAVPKPKE-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は配列の定義/引用関係検査方式に関し、特にベ
クトル命令を実行することが可能な計算機システムにお
ける配列の定義/引用関係検査方式〔従来の技術〕 従来、配列の定義/引用関係が静的なプログラム解析の
みでは不明なために原始プログラム中のループに対して
生成される命令にベクトル命令を適用する(以下、単に
「ループにベクトル命令を適用する」という)ことがで
きない場合(ベクトル命令を適用できるか否かが不確定
であるために結果として適用できない場合)には、コン
パイラによりその原始プログラムが翻訳される際にその
旨のメツセージ(後述する配列定義/引用関係不明ベク
トル化情報と同種の情fil)が出力されて当該ループ
に対して生成される命令にスカラ命令を適用する(以下
、単に「ループにスカラ命令を適用する」という)こと
が行われて目的プログラムが生成されていた。
クトル命令を実行することが可能な計算機システムにお
ける配列の定義/引用関係検査方式〔従来の技術〕 従来、配列の定義/引用関係が静的なプログラム解析の
みでは不明なために原始プログラム中のループに対して
生成される命令にベクトル命令を適用する(以下、単に
「ループにベクトル命令を適用する」という)ことがで
きない場合(ベクトル命令を適用できるか否かが不確定
であるために結果として適用できない場合)には、コン
パイラによりその原始プログラムが翻訳される際にその
旨のメツセージ(後述する配列定義/引用関係不明ベク
トル化情報と同種の情fil)が出力されて当該ループ
に対して生成される命令にスカラ命令を適用する(以下
、単に「ループにスカラ命令を適用する」という)こと
が行われて目的プログラムが生成されていた。
さらに、このようにして出力されたメツセージと生成さ
れた目的プログラムの実行動作とに基づいて、原始プロ
グラム中の当該ループにベクトル命令を適用しても問題
がないかどうかの判断のための配列の定義/引用関係の
検査(ベクトル命令の適用に関する配列の定義/引用関
係の検査)が利用者によって行われていた。
れた目的プログラムの実行動作とに基づいて、原始プロ
グラム中の当該ループにベクトル命令を適用しても問題
がないかどうかの判断のための配列の定義/引用関係の
検査(ベクトル命令の適用に関する配列の定義/引用関
係の検査)が利用者によって行われていた。
この検査で当該ループにベクトル命令を適用しても問題
がないと判断された場合には、原始プログラム中にその
旨を示す指示行が挿入され、その指示行が挿入された原
始プログラムが再びコンパイラによって翻訳されること
により当該ループにベクトル命令が適用されて実行され
る目的プログラムが生成されていた(上述の検査で当該
ループにベクトル命令を適用するには問題があると判断
された場合には、ループにスカラ命令が適用された目的
プログラムのままで実行が行われていた)。
がないと判断された場合には、原始プログラム中にその
旨を示す指示行が挿入され、その指示行が挿入された原
始プログラムが再びコンパイラによって翻訳されること
により当該ループにベクトル命令が適用されて実行され
る目的プログラムが生成されていた(上述の検査で当該
ループにベクトル命令を適用するには問題があると判断
された場合には、ループにスカラ命令が適用された目的
プログラムのままで実行が行われていた)。
上述のように、配列の定義/引用関係が静的なプログラ
ム解析のみでは不明なために原始プログラム中のループ
にベクトル命令を適用できない場合の従来のベクトル命
令の適用に関する配列の定義/引用関係の動的な検査は
、利用者等の人手による配列の定義/引用関係検査方式
により行われていた。
ム解析のみでは不明なために原始プログラム中のループ
にベクトル命令を適用できない場合の従来のベクトル命
令の適用に関する配列の定義/引用関係の動的な検査は
、利用者等の人手による配列の定義/引用関係検査方式
により行われていた。
上述した従来の配列の定義/引用関係検査方式では、原
始プログラム中のループにおけるベクトル命令の適用に
関する配列の定義/引用関係の動的な検査がコンパイラ
によって出力されたメツセージとコンパイラによって生
成された目的プログラムの実行動作とに基づいて利用者
等の人手によって行われているので、検査の対象のプロ
グラム(原始プログラムおよび目的プログラム)が複雑
な場合には上述の配列の定義/引用関係の検査が困難で
ある(完全に検査するのは不可能な場合が多い)という
欠点がある。
始プログラム中のループにおけるベクトル命令の適用に
関する配列の定義/引用関係の動的な検査がコンパイラ
によって出力されたメツセージとコンパイラによって生
成された目的プログラムの実行動作とに基づいて利用者
等の人手によって行われているので、検査の対象のプロ
グラム(原始プログラムおよび目的プログラム)が複雑
な場合には上述の配列の定義/引用関係の検査が困難で
ある(完全に検査するのは不可能な場合が多い)という
欠点がある。
特に、プログラムの利用者が作成者ではない場合にはプ
ログラムの正確な実行動作が利用者にとって不明な場合
が多いので、プログラムが複雑な場合でなくともベクト
ル命令の適用に関する配列の定義/引用関係の検査が困
難なものになるという欠点がある。
ログラムの正確な実行動作が利用者にとって不明な場合
が多いので、プログラムが複雑な場合でなくともベクト
ル命令の適用に関する配列の定義/引用関係の検査が困
難なものになるという欠点がある。
本発明の目的は、上述の点に鑑み、検査の対象のプログ
ラムが複雑な場合でもプログラムの利用者が作成者では
ない場合でも、ベクトル命令の適用に関する配列の定義
/引用関係の動的な検査を容易に行うことができる配列
の定義/引用関係検査方式を提供することにある。
ラムが複雑な場合でもプログラムの利用者が作成者では
ない場合でも、ベクトル命令の適用に関する配列の定義
/引用関係の動的な検査を容易に行うことができる配列
の定義/引用関係検査方式を提供することにある。
本発明の配列の定義/引用関係検査方式は、原始プログ
ラム中の配列の定義/引用関係が不明なためにベクトル
命令を適用できないループに関する配列定義/引用関係
不明ベクトル化情報を検出するベクトル化情報検出部と
、配列の定義/引用関係が不明なためにベクトル命令を
適用できないループの直前に定義/引用関係検査サブル
ーチン呼出しコール文が挿入された原始プログラムであ
るコール文挿入原始プログラムを前記ベクトル化情報検
出部により検出された配列定義/引用関係不明ベクトル
化情報に基づき作成する原始プログラム作成部と、この
原始プログラム作成部により作成されたコール文挿入原
始プログラムに基づくロードモジュールを実行しその過
程で前記原始プログラム作成部により挿入された定義/
引用関係検査サブルーチン呼出しコール文によって呼び
出された定義/引用関係検査サブルーチンに基づき配列
の定義/引用関係が不明なためにベクトル命令を適用で
きないループにおけるベクトル命令の適用に関する配列
の定義/引用関係の動的な検査を行いその検査結果を出
力する定義/引用関係検査部とを有する。
ラム中の配列の定義/引用関係が不明なためにベクトル
命令を適用できないループに関する配列定義/引用関係
不明ベクトル化情報を検出するベクトル化情報検出部と
、配列の定義/引用関係が不明なためにベクトル命令を
適用できないループの直前に定義/引用関係検査サブル
ーチン呼出しコール文が挿入された原始プログラムであ
るコール文挿入原始プログラムを前記ベクトル化情報検
出部により検出された配列定義/引用関係不明ベクトル
化情報に基づき作成する原始プログラム作成部と、この
原始プログラム作成部により作成されたコール文挿入原
始プログラムに基づくロードモジュールを実行しその過
程で前記原始プログラム作成部により挿入された定義/
引用関係検査サブルーチン呼出しコール文によって呼び
出された定義/引用関係検査サブルーチンに基づき配列
の定義/引用関係が不明なためにベクトル命令を適用で
きないループにおけるベクトル命令の適用に関する配列
の定義/引用関係の動的な検査を行いその検査結果を出
力する定義/引用関係検査部とを有する。
本発明の配列の定義/引用関係検査方式では、ベクトル
化情報検出部が原始プログラム中の配列の定義/引用関
係が不明なためにベクトル命令を適用できないループに
関する配列定義/引用関係不明ベクトル化情報を検出し
、原始プログラム作成部が配列の定義/引用関係が不明
なためにベクトル命令を適用できないループの直前に定
義/引用関係検査サブルーチン呼出しコール文が挿入さ
れた原始プログラムであるコール文挿入原始プログラム
をベクトル化情報検出部により検出された配列定義/引
用関係不明ベクトル化情報に基づき作成し、定義/引用
関係検査部が原始プログラム作成部により作成されたコ
ール文挿入原始プログラムに基づくロードモジュールを
実行しその過程で原始プログラム作成部により挿入され
た定義/引用関係検査サブルーチン呼出しコール文によ
って呼び出された定義/引用関係検査サブルーチンに基
づき配列の定義/引用関係が不明なためにベクトル命令
を適用できないループにおけるベクトル命令の適用に関
する配列の定義/引用関係の動的な検査を行いその検査
結果を出力する。
化情報検出部が原始プログラム中の配列の定義/引用関
係が不明なためにベクトル命令を適用できないループに
関する配列定義/引用関係不明ベクトル化情報を検出し
、原始プログラム作成部が配列の定義/引用関係が不明
なためにベクトル命令を適用できないループの直前に定
義/引用関係検査サブルーチン呼出しコール文が挿入さ
れた原始プログラムであるコール文挿入原始プログラム
をベクトル化情報検出部により検出された配列定義/引
用関係不明ベクトル化情報に基づき作成し、定義/引用
関係検査部が原始プログラム作成部により作成されたコ
ール文挿入原始プログラムに基づくロードモジュールを
実行しその過程で原始プログラム作成部により挿入され
た定義/引用関係検査サブルーチン呼出しコール文によ
って呼び出された定義/引用関係検査サブルーチンに基
づき配列の定義/引用関係が不明なためにベクトル命令
を適用できないループにおけるベクトル命令の適用に関
する配列の定義/引用関係の動的な検査を行いその検査
結果を出力する。
次に、本発明について図面を参照して説明する。
第1図は、本発明の配列の定義/引用関係検査方式の一
実施例の構成を示すブロック図である。
実施例の構成を示すブロック図である。
本実施例の配列の定義/引用関係検査方式は、ベクトル
化情報検出部1 (FORTI’?ANコンパイラに
より実現される)と、原始プログラム作成部2と、翻訳
部3 (FORTRANコンパイラにより実現される
)と、リンク部4 (リンカにより実現される)と、定
義/引用関係検査部(ロードモジュール93を実行する
実行部により実現される)5と、原始プログラム6 (
FORTRANにより記述されている)と、配列定義/
引用関係不明ベクトル化情報7と、コール文挿入原始プ
ログラム8と、コンパイルユニット91と、定義/引用
関係検査サブルーチンコンパイルユニット92と、ロー
ドモジュール93と、検査結果94とから構成されてい
る。
化情報検出部1 (FORTI’?ANコンパイラに
より実現される)と、原始プログラム作成部2と、翻訳
部3 (FORTRANコンパイラにより実現される
)と、リンク部4 (リンカにより実現される)と、定
義/引用関係検査部(ロードモジュール93を実行する
実行部により実現される)5と、原始プログラム6 (
FORTRANにより記述されている)と、配列定義/
引用関係不明ベクトル化情報7と、コール文挿入原始プ
ログラム8と、コンパイルユニット91と、定義/引用
関係検査サブルーチンコンパイルユニット92と、ロー
ドモジュール93と、検査結果94とから構成されてい
る。
原始プログラム作成部2は、ベクトル化情報取得部21
と、原始プログラム入力部22と、原始プログラム解析
部23と、コール文挿入部24と、原始プログラム出力
部25とを含んで構成されている。
と、原始プログラム入力部22と、原始プログラム解析
部23と、コール文挿入部24と、原始プログラム出力
部25とを含んで構成されている。
第2図は、配列定義/引用関係不明ベクトル化情報7の
一例を示す図である。この回を参照すると、配列定義/
引用関係不明ベクトル化情報7は、行番号71と、メツ
セージ番号72と、メツセージ部73とから構成されて
いる。
一例を示す図である。この回を参照すると、配列定義/
引用関係不明ベクトル化情報7は、行番号71と、メツ
セージ番号72と、メツセージ部73とから構成されて
いる。
第3図は、コール文挿入原始プログラム8の一例を示す
図である。この図を参照すると、コール文挿入原始プロ
グラム8は、定義/引用関係検査サブルーチン呼出しコ
ール文81および82を含んで構成されている。
図である。この図を参照すると、コール文挿入原始プロ
グラム8は、定義/引用関係検査サブルーチン呼出しコ
ール文81および82を含んで構成されている。
第4図は、コール文挿入原始プログラム8と定義/引用
関係検査サブルーチン原始プログラム(図示せず、定義
/引用関係検査サブルーチンコンパイルユニット92の
原始プログラム、なお、定義/引用関係検査サブルーチ
ン原始プログラムおよび定義/引用関係検査サブルーチ
ンコンパイルユニット92の処理の内容に言及する場合
には「定義/引用関係検査サブルーチン」という)との
間のインタフェースとして使用されるパラメータを示す
図である。
関係検査サブルーチン原始プログラム(図示せず、定義
/引用関係検査サブルーチンコンパイルユニット92の
原始プログラム、なお、定義/引用関係検査サブルーチ
ン原始プログラムおよび定義/引用関係検査サブルーチ
ンコンパイルユニット92の処理の内容に言及する場合
には「定義/引用関係検査サブルーチン」という)との
間のインタフェースとして使用されるパラメータを示す
図である。
次に、このように構成された本実施例の配列の定義/引
用関係検査方式の動作について説明する。
用関係検査方式の動作について説明する。
まず、配列の定義/引用関係が不明なためにベクトル命
令を適用できないループを有する原始プログラム6がF
ORTRANコンパイラによって翻訳される際に、この
FORTRANコンパイラにより実現されるベクトル化
情報検出部lにより配列の定義/引用関係が不明なため
にベクトル命令を適用できないループが検出され、その
ループに関する配列定義/引用関係不明ベクトル化情報
7 (該当するループ、該当する配列基および配列の定
義/引用関係が不明な箇所(行番号)等を明示して配列
の定義/引用関係が不明なためにそのループにベクトル
命令を適用できない旨を示す情fil)が第2図に示す
ような形式で出力される。
令を適用できないループを有する原始プログラム6がF
ORTRANコンパイラによって翻訳される際に、この
FORTRANコンパイラにより実現されるベクトル化
情報検出部lにより配列の定義/引用関係が不明なため
にベクトル命令を適用できないループが検出され、その
ループに関する配列定義/引用関係不明ベクトル化情報
7 (該当するループ、該当する配列基および配列の定
義/引用関係が不明な箇所(行番号)等を明示して配列
の定義/引用関係が不明なためにそのループにベクトル
命令を適用できない旨を示す情fil)が第2図に示す
ような形式で出力される。
第2図に示す配列定義/引用関係不明ベクトル化情報7
においては、行番号71のr70J 、メンセ−ジ番号
72の「30」で識別されるメツセージ部73中のメツ
セージrUNsUrTABLE DATA REF
ERENCE RELATION、Jおよびメツセー
ジ部73中の付加情11rARRAY: A 80.
90Jにより、配列への定義/引用関係が行番号80お
よび90の文で不明なために行番号70から始まるルー
プにベクトル命令を適用できないことが示されている(
第3図中の70行〜90行参照)。同様に、行番号71
のr150 J 、メツセージ番号72の「30」で識
別されるメツセージ部73中のメツセージおよびメツセ
ージ部73中の付加情報「ARR八Yへ: X 16
0 、160 Jにより、配列Xの定義/引用関係が行
番号160の文で不明なために行番号150から始まる
ループにベクトル命令を適用できないことが示されてい
る(第3図中の150行および160行参照)。
においては、行番号71のr70J 、メンセ−ジ番号
72の「30」で識別されるメツセージ部73中のメツ
セージrUNsUrTABLE DATA REF
ERENCE RELATION、Jおよびメツセー
ジ部73中の付加情11rARRAY: A 80.
90Jにより、配列への定義/引用関係が行番号80お
よび90の文で不明なために行番号70から始まるルー
プにベクトル命令を適用できないことが示されている(
第3図中の70行〜90行参照)。同様に、行番号71
のr150 J 、メツセージ番号72の「30」で識
別されるメツセージ部73中のメツセージおよびメツセ
ージ部73中の付加情報「ARR八Yへ: X 16
0 、160 Jにより、配列Xの定義/引用関係が行
番号160の文で不明なために行番号150から始まる
ループにベクトル命令を適用できないことが示されてい
る(第3図中の150行および160行参照)。
次に、原始プログラム作成部2では、配列の定義/引用
関係が不明なためにベクトル命令を適用できないループ
の直前に定義/引用関係検査サブルーチンを呼び出すコ
ール文(定義/引用関係検査サブルーチン呼出しコール
文81および82等)が挿入された原始プログラム(コ
ール文挿入原始プログラム8)がベクトル化情報検出部
1により検出された配列定義/引用関係不明ベクトル化
情幸侵7に基づいて第3図に示すように作成される。
関係が不明なためにベクトル命令を適用できないループ
の直前に定義/引用関係検査サブルーチンを呼び出すコ
ール文(定義/引用関係検査サブルーチン呼出しコール
文81および82等)が挿入された原始プログラム(コ
ール文挿入原始プログラム8)がベクトル化情報検出部
1により検出された配列定義/引用関係不明ベクトル化
情幸侵7に基づいて第3図に示すように作成される。
すなわち、まず原始プログラム入力部22により原始プ
ログラム6が入力され、ベクトル化情報取得部21によ
り配列定義/引用関係不明ベクトル化情報7が取得され
る。
ログラム6が入力され、ベクトル化情報取得部21によ
り配列定義/引用関係不明ベクトル化情報7が取得され
る。
次に、原始プログラム6中の配列の定義/引用関係が不
明なためにベクトル命令を適用できないループが、配列
定義/引用関係不明ベクトル化情報7に基づいて原始プ
ログラム解析部23により検索される。
明なためにベクトル命令を適用できないループが、配列
定義/引用関係不明ベクトル化情報7に基づいて原始プ
ログラム解析部23により検索される。
さらに、原始プログラム解析部23により検索されたル
ープの直前にベクトル命令の適用に関する配列の定義/
引用関係を検査するための定義/引用関係検査サブルー
チンを呼び出すコール文(定義/田川関係検査サブルー
チン呼出しコール文81(rCALL DEPCEK
(Nl、N2.N3゜K、J、−M、L)Jおよび定
義/引用関係検査サブルーチン呼出しコール文82(r
CALL DEPCEK (1,に−1,1,5,1
,1,O)」)が、コール文挿入部24により挿入され
る。
ープの直前にベクトル命令の適用に関する配列の定義/
引用関係を検査するための定義/引用関係検査サブルー
チンを呼び出すコール文(定義/田川関係検査サブルー
チン呼出しコール文81(rCALL DEPCEK
(Nl、N2.N3゜K、J、−M、L)Jおよび定
義/引用関係検査サブルーチン呼出しコール文82(r
CALL DEPCEK (1,に−1,1,5,1
,1,O)」)が、コール文挿入部24により挿入され
る。
最後に、定義/引用関係検査サブルーチン呼出しコール
文81および82が挿入されたコール文挿入原始プログ
ラム8が、原始プログラム出力部25により出力される
。
文81および82が挿入されたコール文挿入原始プログ
ラム8が、原始プログラム出力部25により出力される
。
このようにして原始プログラム作成部2から出力された
コール文挿入原始プログラム8は、翻訳部3 (FO
RTRANコンパイラ)により翻訳されてコンパイルユ
ニット91として出力される。
コール文挿入原始プログラム8は、翻訳部3 (FO
RTRANコンパイラ)により翻訳されてコンパイルユ
ニット91として出力される。
コンパイルユニット91は、リンク部4 (リンカ)に
よりあらかじめ用意されている定義/引用関係検査サブ
ルーチンコンパイルユニット92(コール文挿入原始プ
ログラム8と第4図に示すようなパラメータによりイン
タフェースがとられている定義/引用関係検査サブルー
チン原始プログラムが翻訳されたコンパイルユニット、
第4図に示tパラメータにおいて第1パラメータおよび
第4パラメータを例示的に説明すると、第1パラメータ
は第3図中の定義/引用関係検査サブルーチン呼出しコ
ール文81の「N1」に該当するものでこの場合には7
0行から始まるDO小ループインデックス変数rlJの
初pJI値を示しており、第4パラメータは第3図中の
定義/引用関係検査サブルーチン呼出しコール文81の
rKJにJ亥当するものでこの場合には70行から始ま
るDOループ内でプログラムの実行順序で先に現れた配
列要素rA([J+K)J(配列要素rA (1*L−
M)Jよりも実行順序が先の配列要素)の1次元目(こ
の例では1次元のみしか存在しない)の添字式「I*J
+KJのインデックス変数rlJの値が0のときの値を
示している)と結合されてロードモジュール93が出力
される。
よりあらかじめ用意されている定義/引用関係検査サブ
ルーチンコンパイルユニット92(コール文挿入原始プ
ログラム8と第4図に示すようなパラメータによりイン
タフェースがとられている定義/引用関係検査サブルー
チン原始プログラムが翻訳されたコンパイルユニット、
第4図に示tパラメータにおいて第1パラメータおよび
第4パラメータを例示的に説明すると、第1パラメータ
は第3図中の定義/引用関係検査サブルーチン呼出しコ
ール文81の「N1」に該当するものでこの場合には7
0行から始まるDO小ループインデックス変数rlJの
初pJI値を示しており、第4パラメータは第3図中の
定義/引用関係検査サブルーチン呼出しコール文81の
rKJにJ亥当するものでこの場合には70行から始ま
るDOループ内でプログラムの実行順序で先に現れた配
列要素rA([J+K)J(配列要素rA (1*L−
M)Jよりも実行順序が先の配列要素)の1次元目(こ
の例では1次元のみしか存在しない)の添字式「I*J
+KJのインデックス変数rlJの値が0のときの値を
示している)と結合されてロードモジュール93が出力
される。
このようにして生成されたロードモジュール93は定義
/引用関係検査部5(実行部)により実行され、実行の
過程で定義/引用関係検査サブルーチンによりベクトル
命令の適用に関する配列の定義/引用関係が動的に検査
され、その検査の結果である検査結果94が定義/引用
関係検査部5によ、って自動的に出力される。
/引用関係検査部5(実行部)により実行され、実行の
過程で定義/引用関係検査サブルーチンによりベクトル
命令の適用に関する配列の定義/引用関係が動的に検査
され、その検査の結果である検査結果94が定義/引用
関係検査部5によ、って自動的に出力される。
以上説明したように本発明は、配列の定義/引用関係が
静的なプログラム解析のみでは不明なためにベクトル命
令を適用できないループに対するベクトル命令の適用に
関する配列の定義/引用関係の動的な検査が利用者等の
人手を要することなく定義/引用関係検査サブルーチン
等の処理により自動的に行われることにより、検査の対
象のプログラムが複雑な場合でもプログラムの利用者が
−作成者ではない場合でもベクトル命令の適用に関する
配列の定n/引用関係の動的な検査を容易に行うことが
できるという効果がある。
静的なプログラム解析のみでは不明なためにベクトル命
令を適用できないループに対するベクトル命令の適用に
関する配列の定義/引用関係の動的な検査が利用者等の
人手を要することなく定義/引用関係検査サブルーチン
等の処理により自動的に行われることにより、検査の対
象のプログラムが複雑な場合でもプログラムの利用者が
−作成者ではない場合でもベクトル命令の適用に関する
配列の定n/引用関係の動的な検査を容易に行うことが
できるという効果がある。
第1図は本発明の一実施例の構成を示すブロック図、
第2図は第1図中の配列定義/引用関係不明ベクトル化
情報の一例を示す図、 第3図は第1図中のコール文挿入原始プログラムの一例
を示す図、 第4図は第1図中のコール文挿入原始プログラムと定義
/引用関係検査サブルーチン原始プログラム(第1図中
の定義/引用関係検査サブルーチンコンパイルユニット
の原始プログラム)との間のインタフェースとして使用
されるパラメータを示す図である。 図において、 1・・・ベクトル化情報検出部、 2・・・原始プログラム作成部、 3・・・翻訳部、 。 4・・・リンク部、 5・・・定義/引用関係検査部、 6・・・原始プログラム、 7・・・配列定義/引用関係不明ベクトル化情報、 8・・・コール文挿入原始プログラム、21・・・ベク
トル化情報取得部、 22・・・原始プログラム入力部、 23・・・原始プログラム解析部、 24・・・コール文挿入部、 25・・・原始プログラム出力部、 71・・・行番号、 72・・・メツセージ番号、 73・・・メツセージ部、 81、82・定義/引用関係検査サブルーチン呼出しコ
ール文、 91・・・コンパイルユニット、 92・・・定義/引用関係検査サブルーチンコンパイル
ユニット、 93・・・ロードモジュール、 94・・・検査結果である。
情報の一例を示す図、 第3図は第1図中のコール文挿入原始プログラムの一例
を示す図、 第4図は第1図中のコール文挿入原始プログラムと定義
/引用関係検査サブルーチン原始プログラム(第1図中
の定義/引用関係検査サブルーチンコンパイルユニット
の原始プログラム)との間のインタフェースとして使用
されるパラメータを示す図である。 図において、 1・・・ベクトル化情報検出部、 2・・・原始プログラム作成部、 3・・・翻訳部、 。 4・・・リンク部、 5・・・定義/引用関係検査部、 6・・・原始プログラム、 7・・・配列定義/引用関係不明ベクトル化情報、 8・・・コール文挿入原始プログラム、21・・・ベク
トル化情報取得部、 22・・・原始プログラム入力部、 23・・・原始プログラム解析部、 24・・・コール文挿入部、 25・・・原始プログラム出力部、 71・・・行番号、 72・・・メツセージ番号、 73・・・メツセージ部、 81、82・定義/引用関係検査サブルーチン呼出しコ
ール文、 91・・・コンパイルユニット、 92・・・定義/引用関係検査サブルーチンコンパイル
ユニット、 93・・・ロードモジュール、 94・・・検査結果である。
Claims (1)
- 【特許請求の範囲】 原始プログラム中の配列の定義/引用関係が不明なた
めにベクトル命令を適用できないループに関する配列定
義/引用関係不明ベクトル化情報を検出するベクトル化
情報検出部と、 配列の定義/引用関係が不明なためにベクトル命令を適
用できないループの直前に定義/引用関係検査サブルー
チン呼出しコール文が挿入された原始プログラムである
コール文挿入原始プログラムを前記ベクトル化情報検出
部により検出された配列定義/引用関係不明ベクトル化
情報に基づき作成する原始プログラム作成部と、 この原始プログラム作成部により作成されたコール文挿
入原始プログラムに基づくロードモジュールを実行しそ
の過程で前記原始プログラム作成部により挿入された定
義/引用関係検査サブルーチン呼出しコール文によって
呼び出された定義/引用関係検査サブルーチンに基づき
配列の定義/引用関係が不明なためにベクトル命令を適
用できないループにおけるベクトル命令の適用に関する
配列の定義/引用関係の動的な検査を行いその検査結果
を出力する定義/引用関係検査部と、を有することを特
徴とする配列の定義/引用関係検査方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP96188A JPH01177165A (ja) | 1988-01-05 | 1988-01-05 | 配列の定義/引用関係検査方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP96188A JPH01177165A (ja) | 1988-01-05 | 1988-01-05 | 配列の定義/引用関係検査方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01177165A true JPH01177165A (ja) | 1989-07-13 |
Family
ID=11488246
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP96188A Pending JPH01177165A (ja) | 1988-01-05 | 1988-01-05 | 配列の定義/引用関係検査方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01177165A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5934494A (en) * | 1993-11-19 | 1999-08-10 | Mitsubishi Gas Chemical Company, Inc. | Packing for lid |
| JP2002179121A (ja) * | 2000-12-06 | 2002-06-26 | Goglio Luigi Milano Spa | 芳香性・臭気性製品用容器に使用する選択ガス抜きバルブ |
| JP2013521572A (ja) * | 2010-03-01 | 2013-06-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アグレッシブ最適化によって施された変更をロールバック可能なアグレッシブ・コード最適化を実行する装置、方法及びコンピュータ・プログラム |
| JP2016224812A (ja) * | 2015-06-02 | 2016-12-28 | 富士通株式会社 | 並列計算装置、並列処理方法、並列処理プログラムおよびコンパイルプログラム |
-
1988
- 1988-01-05 JP JP96188A patent/JPH01177165A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5934494A (en) * | 1993-11-19 | 1999-08-10 | Mitsubishi Gas Chemical Company, Inc. | Packing for lid |
| JP2002179121A (ja) * | 2000-12-06 | 2002-06-26 | Goglio Luigi Milano Spa | 芳香性・臭気性製品用容器に使用する選択ガス抜きバルブ |
| JP2013521572A (ja) * | 2010-03-01 | 2013-06-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アグレッシブ最適化によって施された変更をロールバック可能なアグレッシブ・コード最適化を実行する装置、方法及びコンピュータ・プログラム |
| JP2016224812A (ja) * | 2015-06-02 | 2016-12-28 | 富士通株式会社 | 並列計算装置、並列処理方法、並列処理プログラムおよびコンパイルプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7172435B2 (ja) | 抽象コードグラフを用いたソフトウェアの表現 | |
| US8122440B1 (en) | Method and apparatus for enumerating external program code dependencies | |
| US5255385A (en) | Method of testing program, and compiler and program testing tool for the method | |
| JPH05257709A (ja) | 並列化判別方法およびそれを用いた並列化支援方法 | |
| US10853051B2 (en) | Automated candidate repair patch generation | |
| Agarwal et al. | Copilot evaluation harness: Evaluating llm-guided software programming | |
| JPH0748182B2 (ja) | プログラム・エラー検出方法 | |
| Novikov et al. | The approach to finding errors in program code based on static analysis methodology | |
| Zhou et al. | FeatureBench: Benchmarking Agentic Coding for Complex Feature Development | |
| JPH01177165A (ja) | 配列の定義/引用関係検査方式 | |
| CN118193382B (zh) | 应用程序的测试方法、装置、设备、存储介质及程序产品 | |
| Lyons et al. | Lightweight multilingual software analysis | |
| Henry | A technique for hiding proprietary details while providing sufficient information for researchers; or, do you recognize this well-known algorithm? | |
| Gyén et al. | Code Comprehension for the Move Semantics in C+ | |
| JPH09288580A (ja) | ソースプログラムの最適化装置および最適化方法 | |
| JP2621555B2 (ja) | ベクトル化処理方式 | |
| JP2815178B2 (ja) | コンパイラ装置 | |
| JP3584204B2 (ja) | 原始プログラム自動変換装置 | |
| JPH01154256A (ja) | プログラムのエラー位置検出方法 | |
| JPH0355633A (ja) | モジュール間インタフェイス検査装置 | |
| Lamar et al. | ROSE LCOM Tools | |
| JPH04211831A (ja) | プログラム検証方法 | |
| Alves et al. | Testing Framework Migration with Large Language Models | |
| Garstecki et al. | Testing for conformance of parallel programming pattern languages | |
| JP3167386B2 (ja) | プログラム自動並列化方法 |