JPS6353646A - 最適目的プログラム生成方式 - Google Patents

最適目的プログラム生成方式

Info

Publication number
JPS6353646A
JPS6353646A JP19665186A JP19665186A JPS6353646A JP S6353646 A JPS6353646 A JP S6353646A JP 19665186 A JP19665186 A JP 19665186A JP 19665186 A JP19665186 A JP 19665186A JP S6353646 A JPS6353646 A JP S6353646A
Authority
JP
Japan
Prior art keywords
program
dynamic information
object program
compiler
information
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
JP19665186A
Other languages
English (en)
Inventor
Akikazu Abe
安部 曉一
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 JP19665186A priority Critical patent/JPS6353646A/ja
Publication of JPS6353646A publication Critical patent/JPS6353646A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野〕 本発明は、最適な目的プログラムを生成するための処理
方式に関する。
(従来の技術) 従来、コンパイラが目的プログラムを生成−’t’る際
には、コンパイル時点で判明した情報だけを用いて最適
化処理やベクトル化処理を行っている。従って、コンパ
イラ自体では知り得ない情報をコンパイラに知らせるた
めにはプログラムのなかに指示性を挿入するか、あるい
はコンパイル時に直接利用者が指示を与える手段が必要
であった。
(発明が解決しようとする問題点〕 上述した従来の最適目的プログラム生成方式においては
、利用者自身がプログラムのなかのループの実行回数や
、条件式の成立割合を正確に把握しておかなければなら
ず、それらの情報を利用者自身がコンパイラに与えなけ
ればならないと云う欠点がある。
また、プログラムが固定されていない場合には、プログ
ラム修正の都度、上記の情報を人手を介して与えなおさ
なければならないと云う欠点もある。
本発明の目的は、ベクトル演算手段を備え、コンパイラ
方式の高級言語で組まれたプログラムのなかに含着れて
いる各文、および各サブプログラムの実行回数を計数し
、各ループの平均回転数や各条件式の平均成立割合など
の動的情報を計算して保存し、上記プログラムのコンパ
イル時に、得られた情報をもとにして最適な目的プログ
ラムをコンパイラにょシ生成することによシ上記欠点を
除去し、人手の介入なくプログラムを生成できるように
構成した最適目的プログラム生成方式を提供することに
ある。
(問題点を解決するための手段) 本発明による最適目的プログラム生成方式は動的情報計
数手段と、コンパイラとを具備して構成したものである
動的情報計数手段は、高級言飴で組立てられたプログラ
ムに含まれている各文および各サブプログラムの実行回
数を計数し、各ループの平均回転数と各条件式の平均成
立割合とより成る動的情報を計算して保存するためのも
のである。
コンパイラは、動的情報計数手段によって得られた情報
をもとに最適な目的プログラム全生成するためのもので
ある。
(実施例) 次に、本発明について図面を参照して説明する。
第1図は、本発明による最適目的プログラム生成方式を
実現する一実施例を示すブロック図である。第1図にお
いて、lはソースプログラム、2は動的情報計数手段、
3は動的情報、4はコンパイラ、41はソース解析部、
42は中間テキスト生成部、43は中間テキスト最適化
部、44は目的プログラム生成部、45はベクトル化処
理部、46は非ベクトル化処理部、5は中間テキスト、
6は目的プログラムである。
動的情報計数手段2はコンパイラ方式の高級言語で組ま
れたソースプログラム1を入カシ、当該プログラムのな
かの文がコンピュータで走行時に実行されるごとに、こ
の文の実行回数を積算することによってプログラム1の
文ごとの実行回数を得ると同時に、プログラム1を構成
する副プログラムごとの実行回数をも積算することによ
って、最終的にはプログラム1の各グループの平均回転
数や、各条件式の平均成立割合のフンバイラが最適な目
的プログラムを生成するために有用な動的情報3を計算
して保存するプログラムである。
コンパイラ4の内部のソース解析部41は供給されたソ
ースプログラムlt−解析上、ベクトル化処理部分をベ
クトル化処理部45に渡し、他の部分を非ベクトル化処
理部46に渡す。この際、ソース解析部41は動的情報
計数手段2によって保存された動的情報3を参照し、例
えば第2図に示すようにFORTRANのDO文によっ
て構成されるループの平均回転数が少なくて、ベクトル
命令列で実行するよシもスカラ命令列で実行した方が効
率がよいと判断される場会には00文、およびDO文の
制御範囲の文を非ベクトル化処理部46に渡す。中間テ
キスト生成部42の内部のベクトル化処理部45はソー
ス解析部41から渡されたプログラムに対し、ベクトル
命令を用いた目的プログラムを生成するための中間テキ
スト5を生成する。
いっぽう、非ベクトル化処理部46は、スカラ命令を用
いた目的プログラムを生成するための中間テキスト5を
生成する。この際にも、動的情報3を参照し、最適化が
行われる。例えば第3図に示すように、FORTRAN
のIF文の条件式が成立する割合に応じて、最適な中間
テキスト5が生成される。
上述のような動的情報3の参照、考慮によって生成され
た中間テキスト5は、中間テキスト最適化部43におい
て周知の最適化処理が実行されたのち、目的プログラム
生成部44に結果が渡され、これによって目的プログラ
ム6が生成される。
第1図に示す実施例では、ソース解析部41および中間
テキスト生成部42において動的情@3を参照し、最適
な中間テキストを生成しているが、中間テキスト最適化
部43において動的情報3を参照し、最適な中間テキス
トに書換える構成としてもよい。また、動的情報3の参
照はソース解析部41だけにとどめ、コンパイラの内部
テーブルに上記情報を保持しておき、中間テキスト生成
部42において上記テーブルを参照してもよい。
(発明の効果〕 以上説明したように本発明によれば、ベクトル演算手段
を備え、コンパイラ方式の高級言語で組まれたプログラ
ムのなかに含まれている各文、および各サブプログラム
の実行回数を計数し、各ループの平均回転数や各条件式
の平均成立割合などの動的情報を計算して保存し、上記
プログラムのコンパイル時に、得られた情報tもとにし
て最適な目的プログラムをコンパイラによシ生成するこ
とによシ、利用者自身がコンパイラに直接指示を与える
ことなく、最適化のための正確な情報をコンパイラに与
えることができるので、目的プログラムの実行性能が向
上すると云う効果がある。
【図面の簡単な説明】
第1図は、本発明による最適目的プログラム生成方式の
一実施例を示すブロック図である。 第2図は、FORTRANのDO文に対する最適化例を
示す説明図である。 第3図は、FORTRANのIF文に対する最適化例を
示す説明図である。 1・・・ソースプログラム 2・・・動的情報計数手段  3・・・動的情報4・・
・コンパイラ     5・・・中間テキスト6・・・
目的プログラム  41・・・ソース解析部42・・・
中間テキスト生成部 43・・・中間テキスト最適化部 44・・・目的プログラム生成部 45・・・ベクトル化処理部 46・・・非ベクトル化処理部

Claims (1)

    【特許請求の範囲】
  1. 高級言語で組立てられたプログラムに含まれている各文
    および各サブプログラムの実行回数を計数し、各ループ
    の平均回転数と各条件式の平均成立割合とより成る動的
    情報を計算して保存するための動的情報計数手段と、前
    記動的情報計数手段によつて得られた情報をもとに最適
    な目的プログラムを生成するためのコンパイラとを具備
    して構成したことを特徴とする最適目的プログラム生成
    方式。
JP19665186A 1986-08-22 1986-08-22 最適目的プログラム生成方式 Pending JPS6353646A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19665186A JPS6353646A (ja) 1986-08-22 1986-08-22 最適目的プログラム生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19665186A JPS6353646A (ja) 1986-08-22 1986-08-22 最適目的プログラム生成方式

Publications (1)

Publication Number Publication Date
JPS6353646A true JPS6353646A (ja) 1988-03-07

Family

ID=16361322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19665186A Pending JPS6353646A (ja) 1986-08-22 1986-08-22 最適目的プログラム生成方式

Country Status (1)

Country Link
JP (1) JPS6353646A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000003322A1 (fr) * 1998-07-10 2000-01-20 Sony Corporation Procede et appareil de compilation
JP2016040691A (ja) * 2014-08-13 2016-03-24 富士通株式会社 プログラム最適化方法,プログラム最適化プログラム及びプログラム最適化装置
JPWO2014064798A1 (ja) * 2012-10-25 2016-09-05 富士通株式会社 実行制御方法及び情報処理装置
US11338314B2 (en) 2017-02-27 2022-05-24 Ihara Science Corporation Nozzle device and nozzle unit

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS617946A (ja) * 1984-06-22 1986-01-14 Hitachi Ltd 最適化コンパイル方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS617946A (ja) * 1984-06-22 1986-01-14 Hitachi Ltd 最適化コンパイル方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000003322A1 (fr) * 1998-07-10 2000-01-20 Sony Corporation Procede et appareil de compilation
JPWO2014064798A1 (ja) * 2012-10-25 2016-09-05 富士通株式会社 実行制御方法及び情報処理装置
JP2016040691A (ja) * 2014-08-13 2016-03-24 富士通株式会社 プログラム最適化方法,プログラム最適化プログラム及びプログラム最適化装置
US11338314B2 (en) 2017-02-27 2022-05-24 Ihara Science Corporation Nozzle device and nozzle unit

Similar Documents

Publication Publication Date Title
JPS62159274A (ja) 条件分岐の分割・複写によるベクトル化方式
JPH05257709A (ja) 並列化判別方法およびそれを用いた並列化支援方法
JPH10240543A (ja) オブジェクト・コード最適化装置
JPS6353646A (ja) 最適目的プログラム生成方式
US20170206068A1 (en) Program optimization based on directives for intermediate code
US10761820B2 (en) Assisting parallelization of a computer program
CN105260166A (zh) 一种应用于机器学习线程划分的手工样本集生成方法
CN106126311B (zh) 一种基于代数演算的中间代码优化方法
JPH09282173A (ja) プログラムの静的解析方法
JPS63155264A (ja) ベクトル計算機用言語チユ−ニング処理方式
JPH04343140A (ja) コンパイラの最適化処理方法
Kirner et al. Consideration of optimizing compilers in the context of WCET analysis
JPH10326193A (ja) インライン展開関数の最適化のためのコンパイル方法
JP2870218B2 (ja) 並列実行命令列生成方式
JP3034582B2 (ja) コンパイル処理方式
JPS61285544A (ja) コンパイル方法
JP2682206B2 (ja) 目的プログラムの最適化方式
JPH10116197A (ja) プログラム解析方法
JP2853604B2 (ja) 無限ループのベクトル化処理方式
Dai et al. Load-store optimization for software pipelining
JPH11195011A (ja) 言語翻訳処理装置、言語翻訳処理方法、言語翻訳処理プログラムを記録した記録媒体
JPH0477927A (ja) プログラム実行方法
JPH11250035A (ja) 編集方式及び方法
JPH03139729A (ja) 論理型言語の高速実行方式
JPH04358264A (ja) ベクトル化処理方式