JPS62271024A - 最適化処理方式 - Google Patents

最適化処理方式

Info

Publication number
JPS62271024A
JPS62271024A JP11364086A JP11364086A JPS62271024A JP S62271024 A JPS62271024 A JP S62271024A JP 11364086 A JP11364086 A JP 11364086A JP 11364086 A JP11364086 A JP 11364086A JP S62271024 A JPS62271024 A JP S62271024A
Authority
JP
Japan
Prior art keywords
program
optimization
information
dynamic characteristic
characteristic 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
JP11364086A
Other languages
English (en)
Inventor
Hiroaki Kawachi
河内 浩明
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP11364086A priority Critical patent/JPS62271024A/ja
Publication of JPS62271024A publication Critical patent/JPS62271024A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 3、発明の詳細な説明 〔産業上の利用分野〕 この発明は、電子計算機用のプログラム言語で書かれた
プログラムを目的プログラムにコンパイルする過程で行
なわれる最適化処理方式、特に、最適化処理するに先立
って、動的特性情報生成系において動的特性情報を生成
して、この動的特性情報を参照してプログラム実行時の
状況に適合するようにした最適化処理方式に関するもの
である。
〔従来の技術〕
第2図は従来の最適化処理方式の概略図であ4図におい
て、(1)は翻訳対象となる原始プログラム、(2H:
[I D 7ハイラ、(3)は第1コンパイラ(2) 
(7) 一部である最適化処理部、(4)はプログラム
構造解析部、(5)はテキスト最適化部、(6)は広域
レジスタ割付は部、(7)はプログラム構造解析部(4
)によって出力される制御フロー情報(7a)、データ
フロー情報(7b)及びデータ使用情報(7c)を含む
最適化情報である。なお、最適化処理部(3)は、プロ
グラム構造解析部(4)、テキスト最適化部(5)及び
広域レジスタ割付は部(6)で構成される。
次に動作を説明する。第1コンパイラ(2)は、原始プ
ログラム(1)を入力し、構文解析などの処理を行った
後に、最適化処理部(3)に制御が渡される。
最適化処理部(3)では、最初にプログラム構造解析部
(4)で、プログラム制御構造やデータフローが解析さ
れて、制御フロー情報(7a)、データフロー情報(7
b)及びデータ使用情報(7C)を含む最適化情報(7
)が生成される。最適化情報(7)は、プログラムの静
的特性から導かれる情報であり、実行時にならないと決
定できない要素については、ある種の仮定を行っている
。例えば、データ使用情報(7C)は、プログラム中の
データに関する使用頻度を確定することが一般にはでき
ないために、ループ内でのデータ使用は、−律にある一
定の重み付けを行って、使用頻度を算出するという方法
を採っていもその後、制御はテキスト最適化部(5)に
渡され、最適化情報(7)を参照することによって、共
通式の削除、不変式のループ外移動、演算強度の低減な
どの最適化処理が行われる。次に、制御は広域レジスタ
割付は部(6)に渡され、最適化情報(7)を使用して
使用頻度の高いデータを広域的にレジスタに割付けると
いう処理を行い、最適化処理は終了する。
〔発明が解決しようとする問題点〕
従来の最適化処理方式では、プログラムの静的特性だけ
から導かれた最適化情報を使用して、各種の最適化処理
を行っているため、プログラム実行時の状況によっては
、最適化の効果が現われなかったりしてかえって実行効
率か低下するという問題点があった。
この発明は上記のような問題点を解決するためになされ
たもので、最適化処理中に、対象プログラム実行時の動
的特性を使用して、静的特性の解析だけでは得られない
最適化情報を生成することにより実行効率の高い目的プ
ログラムを生成できる最適化処理方式を得ることを目的
とする。
〔問題点を解決するための手段〕
この発明にかかる最適化処理方式は、コンパイラにおけ
る最適化処理に先立って、翻訳処理した実行可能プログ
ラムを実行させて、対象プログラム実行時に動的特性情
報を予め生成しておき、この動的特性情報を参照するこ
とによって、対象プログラム実行時の状況に適合した最
適化処理を行なうようにしたものである。
〔作 用〕
この発明においては、使用されるプログラムの動的特性
情報は、プログラムの静的解析からは得られないような
、すなわち実行時にならないと決定しないような値の推
測値をより精度が高くなるように決定するために用いる
のでプログラムの実行効率を高めることができる。
〔実施例〕
以下、第1図について説明する。第1図はこの発明の一
実施例の概略図である。図において、(8)は動的特性
情報生成系、(9)は第1コンパイラ(2)から最適化
処理部(3)を削除又はこの処理部(3)を迂回するよ
うな処理を施した第2コンパイラ、(10)は結合編集
処理系、(11)は動的特性解析処理系、(12)は第
2コンパイラ(9)から出力され、結合編集処理系(1
0)への人力となる目的プログラム、(13)は結合編
集処理系(10)から出力され、動的特性解析処理系(
11)への入力となる実行可能プログラム、(14)は
動的特性解析処理系(11)から出力される動的特性情
報である。なお、動的特性情報生成系(8)は第1コン
パイラ(9)、結合編集処理系(10)、動的特性解析
処理系(11)から構成される。対象原始プログラム(
1)は第1コンパイラ(2)によって行われる本来のコ
ンパイル処理に先立って、動的特性情報生成系(8)に
よって処理される。即ち、第2コンパイラ(9)は、原
始プログラム(りを入力し、動的特性を解析するために
ある種の命令等を挿入するようにした目的プログラム(
12)を生成する。次に、結合編集処理系(10)は目
的プログラム(12)を入力して、その目的プログラム
(12)の結合編集処理を行い、実行可能プログラム(
13)を生成する。動的特性解析処理系(11)は、実
行可能プログラム(13)を入力しこれを実際に動作さ
せることによって、動的特性情報(14)を生成する。
この動的特性情報(14)は、例えば、対象プログラム
内の各実行文の実行回数とか、対象プログラム内の各デ
ータのアクセス回数など、プログラム実行時でないと決
定できないような一種類又は二種類以上の情報から構成
される。以上の操作が終了した後、最適化処理を含む本
来のコンパイル処理が開始される。第1コンパイラ(2
)は原始プログラム(1)を入力し、構文解析などの処
理を行った後に、最適化処理部(3)に制御が渡される
。ここでは、プログラム構造解析部(4)によって生成
される最適化情報と、動的特性情報(14)を参照して
、通常の最適化情報(7)を使用しただけではできない
ような最適化処理あるいは動的特性情報(4)を反映し
た結果、より実行効率の高くなるような最適化処理を行
う。
なお、上記実施例では、動的特性情報は、対象プログラ
ムを1回だけ実行させて得られる情報としたが、対象プ
ログラムへの入力データなどによって、プログラム実行
時の動作状態が異なる場合があるため、複数回のプログ
ラム実行を通して、動的特性情報を蓄積するという方式
でもよく、最適化処理部の処理では、上記実施例と同様
の効果を奏する。
〔発明の効果〕
以上に説明したように、この発明の最適化処理方式は、
コンパイラの最適化処理部で使用する情報に、対象プロ
グラムの実行時の動的特性情報を含めたので、従来の最
適化処理方式よりプログラム実行効率の高い目的プログ
ラムを生成することができるという効果が得られる。
【図面の簡単な説明】
第1図はこの発明の一実施例の概略図、第2図は従来の
最適化処理方式の概略図であるJiお図中で、実線は制
御の流れ、破線は情報の流れをそれぞれ示す。 図において、 (1)・・原始プログラム、(2)・・第1コンパイラ
、(3)・・第1コンパイラ(2)の一部である最適化
処理部、(4)・・プログラム構造解析部、(5)・・
テキスト最適化部、(6)・・広域レジスタ割付は部、
(7)5・最適化情報、(7a)・・制御フロー情報、
(7b)・・データフロー情報、(7c)・・データ使
用情報、(8)・・動的特性情報生成系、(9)・・第
2コンパイラ、(10)・・結合編集処理系、(11)
・・動的特性解析処理系、(12)・・目的プログラム
、(13)・・実行可能プログラム、(14)・・動的
特性情報である。なお図中、同一符号は同−又は相当部
分を示す0

Claims (2)

    【特許請求の範囲】
  1. (1)最適化処理部を有する第1のコンパイラと動的特
    性情報生成系とを備えていて、前記動的特性情報系は第
    2のコンパイラと、結合編集処理系と、動的特性解析処
    理系とからなり、前記第1のコンパイラにおける最適化
    処理に先立って、前記動的特性情報生成系によって、対
    象とするプログラム実行時における動的特性情報を生成
    しておき、前記最適化処理部は前記動的特性情報を参照
    することによって目的プログラムの実行時の状況に適合
    するようにしたことを特徴とする最適化処理方式。
  2. (2)前記動的特性情報は複数回のプログラム実行によ
    って得られたものの蓄積情報であることを特徴とする特
    許請求の範囲第1項記載の最適化処理方式。
JP11364086A 1986-05-20 1986-05-20 最適化処理方式 Pending JPS62271024A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11364086A JPS62271024A (ja) 1986-05-20 1986-05-20 最適化処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11364086A JPS62271024A (ja) 1986-05-20 1986-05-20 最適化処理方式

Publications (1)

Publication Number Publication Date
JPS62271024A true JPS62271024A (ja) 1987-11-25

Family

ID=14617360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11364086A Pending JPS62271024A (ja) 1986-05-20 1986-05-20 最適化処理方式

Country Status (1)

Country Link
JP (1) JPS62271024A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4823075B2 (ja) * 2004-01-14 2011-11-24 コミサリア ア レネルジー アトミック エ オ ゼネルジー アルテルナティブ 最適化コードの自動発生システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4823075B2 (ja) * 2004-01-14 2011-11-24 コミサリア ア レネルジー アトミック エ オ ゼネルジー アルテルナティブ 最適化コードの自動発生システム

Similar Documents

Publication Publication Date Title
US6233733B1 (en) Method for generating a Java bytecode data flow graph
JPH04307625A (ja) ループ最適化方法及び装置
JPH01108638A (ja) 並列化コンパイル方式
CN109933327A (zh) 基于代码融合编译框架的OpenCL编译器设计方法和系统
JPS63304325A (ja) 並列化コンパイル方法
Puschner Transforming execution-time boundable code into temporally predictable code
JPS62271024A (ja) 最適化処理方式
Chambers Staged compilation
JP3887097B2 (ja) コンパイル方法,コンパイル装置および、コンパイル用プログラムを記憶したコンピュータ読み取り可能な記憶媒体
Halbiniak et al. Exploring OpenMP Accelerator Model in a real-life scientific application using hybrid CPU-MIC platforms
Martini et al. NOPL & Compiler to NOP C++ namespace multi-threading oriented solution: studies of capabilities for the x86-64 architecture
JP2682206B2 (ja) 目的プログラムの最適化方式
JPH0512033A (ja) 並列化コンパイル方式
JPH0689187A (ja) インライン展開最適化方法
JPH0659933A (ja) コード変換装置
JPH0460719A (ja) 電子計算機、プログラマブル論理回路及びプログラム処理方法
JPH0373026A (ja) コンパイル方式
JPH03144830A (ja) 並列処理方式
JPS63120369A (ja) プログラム変換装置
JPH02247734A (ja) 入出力手続き呼び出しの最適化方式
Papaefstathiou et al. A Common Workload Interface for the Performance Prediction of High Performance Systems
JPH04343140A (ja) コンパイラの最適化処理方法
JPS62267832A (ja) コンパイル方式
JPS617946A (ja) 最適化コンパイル方式
JPH03218528A (ja) ループ並例化方式