JPS62219130A - プログラムの最適化方式 - Google Patents

プログラムの最適化方式

Info

Publication number
JPS62219130A
JPS62219130A JP6292586A JP6292586A JPS62219130A JP S62219130 A JPS62219130 A JP S62219130A JP 6292586 A JP6292586 A JP 6292586A JP 6292586 A JP6292586 A JP 6292586A JP S62219130 A JPS62219130 A JP S62219130A
Authority
JP
Japan
Prior art keywords
variable
program
register
access
attribute
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
JP6292586A
Other languages
English (en)
Inventor
Michita Nakazawa
中沢 通太
Hirotoshi Yamada
山田 博敏
Yoshiyuki Sato
美幸 佐藤
Ritsuko Okagawa
岡川 律子
Koji Iwasaki
孝司 岩崎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6292586A priority Critical patent/JPS62219130A/ja
Publication of JPS62219130A publication Critical patent/JPS62219130A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概  要〕 本発明は翻訳したプログラムの実行において、特にその
実行効率を向上させるため、一度翻訳され実行されたプ
ログラムの実行時の変数属性を記録し、この値により再
度の翻訳を最適化し、実行効率のよいプログラムを翻訳
出力するものである。
〔産業上の利用分野〕
本発明は、言語プログラムの翻訳の最適化に関する。
言語プログラムを翻訳するコンパイラでは、コンパイル
されたプログラムの実行速度の向上が要求されるが、コ
ンパイル時に収集できる情報だけでなく、コンパイルさ
れたプログラムの実行時の情報も追加することにより、
実行効率を向上させた変数へのレジスタ割付及びデータ
長の割付が必要とされる。
〔従来の技術〕
従来のコンパイラのデータ割付けとレジスタ割付は方式
を第3図(最終図)に示す。図中、50はコンパイラ、
52はデータ割付は機構、53はレジスタ割付は機構で
ある。
図示のように、従来のコンパイラではコンパイル時の情
報だけでデータの割付けを割付ける構造である。
〔発明が解決しようとする問題点〕
従来のコンパイラのデータの割付けとレジスタ割付けで
は、コンパイル時に収集できる情報からデータの割付け
とレジスタの割付けを行う方式となっているため、実行
上最適なデータの割付けとレジスタの割付けが行えてい
ないといった問題を生じていた。
〔実施例〕
第1図は本発明の一実施例を示す。
図中、5はコンパイラ、6はアクセス属性解析機構、7
はアクセス属性記憶機構、52はデータの最大、最小値
によりデータ長を変更するデータ割付部、53はアクセ
ス回数を参照しレジスタ割付けを行うレジスタ割付は部
、1は利用者が作成した原始プログラム(Source
 Program)である。2゜3は各々コンパイラが
翻訳したプログラムのOM(Object Modul
e)及びLM(Load Module) 、4はコン
パイル時の作成域である。このLM3の実行時のデータ
へのアクセス回数をアクセス属性解析機構6がカウント
し、その情報をアクセス属性記憶機構7が蓄積してゆく
。ここで、コンパイラ5は利利用者が再コンパイルする
時に、コンパイル時作業域4の情報と、アクセス属性記
憶機構7内の情報を参照し、利用者にとって最適なデー
タ領域の割付けとレジスタの割付けを決定し、0M2を
作成する。この実施例によれば、利用者は原始プログラ
ム1をコンパイルする毎に、実行速度の向上が得られる
第2図は本発明の一実施例を示す図である。第2図(a
lはアクセス解析機構6の具体的構成、第2図(b)は
コンパイラ5のデータ割付部52及びレジスタ割付部5
3中従来処理に付加すべき部分の具体的構成であり、第
2図(C1はアクセス属性記憶機構の具体的構成である
第2図(a)のシフセス属性解析機構は、プログラムが
実行されメモリアクセスが発生する毎に、まずアクセス
されたアドレスと、そのアドレスに割当られている変数
名の対応を取り、第2図(C)の記憶部にアクセス回数
を更新すると共に、そのアクセス時のデータ値が既に記
録されている最大値より大きければ更新する。
第2図(b)のデータ割付部とレジスタ割付部は、コン
パイル中に変数定着長が第2図(C)記憶の記憶部の値
と比較し異なれば、その変数の領域長が最大値を格納す
るに充分な大きさに変更する。また変数の数が多く各変
数にレジスタを割付けた時レジスタの数が不足したなら
ば、第2図(C1のアクセス属性記憶部のアクセス回数
を変数毎に比較してアクセス回数の多い変数から順にレ
ジスタを割付け、レジスタを割付られなかった変数に対
してはメモリ中にレジスタに代わる領域を設定する。
〔問題点を解決するための手段〕
本発明は原始プログラムの翻訳部と、この翻訳されたプ
ログラムを実行させる実行部とを備えたプログラムの翻
訳、実行において、翻訳された各変数のアクセス属性を
解析する属性解析手段と、この属性を記録する属性記憶
手段を上記実行部に設け、前記属性記憶手段の記憶した
データに基づいて上記原始プログラムの再翻訳を最適化
する最適化手段を設けたことを特徴とするプログラムの
最適化方式である。
〔作  用〕
本発明のアクセス属性解析機構は、実行時に各変数に対
応するメモリがアクセスされる都度に、そのアクセス回
数とアクセス値の最大値を抽出し、アクセス属性記憶機
構は、前記のアクセス属性解析機構の結果を複数回に渡
って蓄積してゆく。この情報をコンパイラで参照し、レ
ジスタ割付けと領域長の調整を行うことにより、実行効
率を向上させた。
〔効  果〕
本発明によれば、レジスタ割付は条件と領域長設定の条
件に、実行時の各変数へのアクセス属性を盛り込むこと
により、原始プログラムのコンパイルと実行を繰り返す
たびに、より最適をレジスタ割付けを実現し、より効率
の良いOM (ObjectModu le)を作成す
ることができる。また、同一の原始プログラムから各利
用者の実行条件に適した異なったO M (Objec
t Module)を作成し、ソフトウェア製品の実行
効率を上げることができる。
【図面の簡単な説明】
第1図は本発明の一実施例構成図、第2図は本発明の詳
細構成図、第3図は従来の構造図である。 図において、5はコンパイラ、52はコンパイラ内のデ
ータ割付部、53はコンパイラ内のレジスタ割付部、6
はアクセス属性解析機構、7はアクセス属性記憶機構で
ある。 (α)                (b)(C) 第 2121

Claims (3)

    【特許請求の範囲】
  1. (1)原始プログラムの翻訳部と、この翻訳されたプロ
    グラムを実行させる実行部とを備えたプログラムの翻訳
    ・実行において、翻訳された各変数のアクセス属性を解
    析する属性解析手段と、この属性を記録する属性記憶手
    段とを上記実行部に設け、前記属性記憶手段の記憶した
    データに基づいて上記原始プログラムの再翻訳を最適化
    する最適化手段を設けたことを特徴とするプログラムの
    最適化方式。
  2. (2)上記変数のアクセス属性としてアクセス回数を計
    数し、上記最適化手段にはアクセス回数の多い順にレジ
    スタを割当てるレジスタ割当手段を設けたことを特徴と
    する特許請求の範囲第1項記載のプログラム最適化方式
  3. (3)上記変数のアクセス属性としてアクセスデータの
    最大値を記憶させ、上記最適化手段にはデータ値に依存
    した変数長を割当てる変数長変更手段を設けたことを特
    徴とする特許請求の範囲第1項記載のプログララム最適
    化方式。
JP6292586A 1986-03-20 1986-03-20 プログラムの最適化方式 Pending JPS62219130A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6292586A JPS62219130A (ja) 1986-03-20 1986-03-20 プログラムの最適化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6292586A JPS62219130A (ja) 1986-03-20 1986-03-20 プログラムの最適化方式

Publications (1)

Publication Number Publication Date
JPS62219130A true JPS62219130A (ja) 1987-09-26

Family

ID=13214335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6292586A Pending JPS62219130A (ja) 1986-03-20 1986-03-20 プログラムの最適化方式

Country Status (1)

Country Link
JP (1) JPS62219130A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301415A (ja) * 2004-04-07 2005-10-27 Ricoh Co Ltd コンパイル方式、シミュレータ、エミュレータおよびプログラム開発支援システム
JP4823075B2 (ja) * 2004-01-14 2011-11-24 コミサリア ア レネルジー アトミック エ オ ゼネルジー アルテルナティブ 最適化コードの自動発生システム
US20120151181A1 (en) * 2007-09-13 2012-06-14 Hiroshi Hayashi Integrated device, layout method thereof, and program
JP2012203581A (ja) * 2011-03-24 2012-10-22 Fujitsu Ltd レジスタ配置最適化方法、レジスタ配置最適化プログラム、及びレジスタ配置最適化装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4823075B2 (ja) * 2004-01-14 2011-11-24 コミサリア ア レネルジー アトミック エ オ ゼネルジー アルテルナティブ 最適化コードの自動発生システム
JP2005301415A (ja) * 2004-04-07 2005-10-27 Ricoh Co Ltd コンパイル方式、シミュレータ、エミュレータおよびプログラム開発支援システム
US20120151181A1 (en) * 2007-09-13 2012-06-14 Hiroshi Hayashi Integrated device, layout method thereof, and program
US8468376B2 (en) * 2007-09-13 2013-06-18 Sony Corporation Integrated device, layout method thereof, and program
JP2012203581A (ja) * 2011-03-24 2012-10-22 Fujitsu Ltd レジスタ配置最適化方法、レジスタ配置最適化プログラム、及びレジスタ配置最適化装置

Similar Documents

Publication Publication Date Title
JP3110040B2 (ja) 手順間レジスタ割付けを伴うコンピュータプログラムのコンパイル方法及び装置
US5920723A (en) Compiler with inter-modular procedure optimization
US6292940B1 (en) Program complete system and its compile method for efficiently compiling a source program including an indirect call for a procedure
JP2001147819A (ja) 最適化装置および記録媒体
US5940621A (en) Language independent optimal size-based storage allocation
JP2002366366A (ja) コンパイル方法、コード生成方法、スタックレジスタ使用方法、コンパイラ、これらを実現するプログラム及び記憶媒体
JPS62219130A (ja) プログラムの最適化方式
JPH07319710A (ja) コンパイル処理方法
US6134708A (en) Program compilation execution system
JP3790707B2 (ja) プログラム変換方法、これを用いたコンピュータ装置及びプログラム
JPH01118931A (ja) プログラム変換方式
JP3264901B2 (ja) コンパイル装置及びコンパイル方法
JPS617946A (ja) 最適化コンパイル方式
JP2004094581A (ja) 並列拡張機能を備えたコンパイラプログラム、その記録媒体、コンパイル方法、およびコンパイル装置
JP2809073B2 (ja) 配列のメモリ割り付け方式
Bivens et al. Incremental generation of high-quality target code
JPH0371233A (ja) コンパイラにおける最適データ割付け方式
JPH03109642A (ja) コンパイル装置
JPH01136240A (ja) コンパイラにおけるレジスタ割付け処理方式
JP2002351674A (ja) 最適化装置
JPH0241525A (ja) 翻訳処理装置における番地割付処理方式
JPH06348505A (ja) コンパイル方法
JPH11175351A (ja) プログラム変換装置、高級言語プログラム内アセンブラ表現方法および記録媒体
JPH04280324A (ja) 記憶管理装置
JPH06282443A (ja) プログラム編集方法と装置