JP2000267860A - アセンブラ最適化方法およびその装置 - Google Patents

アセンブラ最適化方法およびその装置

Info

Publication number
JP2000267860A
JP2000267860A JP7147299A JP7147299A JP2000267860A JP 2000267860 A JP2000267860 A JP 2000267860A JP 7147299 A JP7147299 A JP 7147299A JP 7147299 A JP7147299 A JP 7147299A JP 2000267860 A JP2000267860 A JP 2000267860A
Authority
JP
Japan
Prior art keywords
instruction
optimization
optimization processing
file
optimizing
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
JP7147299A
Other languages
English (en)
Inventor
Wataru Hashiguchi
渉 橋口
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7147299A priority Critical patent/JP2000267860A/ja
Publication of JP2000267860A publication Critical patent/JP2000267860A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 従来の最適化処理方法では、最適化処理をリ
ンク時に行っている。プログラムサイズの増大により、
リンク時にすべての最適化処理を行う場合、多くの時間
を要するようになってきた。 【解決手段】 最適化処理をアセンブル時とリンク時に
分割し、リンク時の最適化処理時間を短縮する。多くの
ソースプログラムからなるシステムにおいて、プログラ
ムの修正を繰り返す場合、リンク処理は毎回行わなけれ
ばならない。そこで、アセンブル時に、未解決の最適化
命令の最大サイズの情報を持たせることにより、リンク
時に集中している最適化処理をアセンブル時と分割して
実行することを可能とし、リンク時の最適化処理に要す
る時間を短縮する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アセンブラ最適化
方法およびその装置に関し、特にマイコンプログラム言
語のアセンブラ、リンカの処理に関する。
【0002】
【従来の技術】分岐命令、メモリからレジスタへの転送
命令、レジスタからメモリへの転送命令を備えているマ
イコンにおいて、分岐命令の場合には、分岐する距離、
レジスタ、メモリ間の転送命令においては、メモリのア
ドレスにより、複数の命令が存在する場合がある。図1
0および図11は、分岐命令が2種類存在する場合を例
に挙げて、説明するものである。図11の分岐命令(jm
p)は、飛び先のアドレスに絶対ジャンプする命令であ
る。分岐先のLABELのアドレスが16bit以内に収まる場
合、と16bitを超え、32bitの値が必要な場合がある。つ
まり、分岐先のアドレスが 65535番地以内に収まってい
る場合と超えている場合である。分岐先が16bit以内に
収まる場合、図10の命令1001を選択すれば、図1
0の命令1002を使うよりも命令サイズが小さくて済
み、プログラムを保持するROMの容量を節約することが
できる。図10の1001、または1002のどちらの
命令を選択するかは、最終的に分岐命令(jmp)の飛び
先アドレスが決定しているプログラムの最終状態で選択
できる。
【0003】次に、従来行っているアセンブラ最適化方
法における命令選択処理の方法を説明する。図12は、
最適な命令を選択する処理(以後、最適化処理と呼ぶ)
を行う前の状態と、実際に最適化処理を行ったあとの典
型的な状態を示している。図12の中の最適化命令と
は、最適化処理によって、複数の命令から命令を選択す
る処理の対象になっている命令である。また、図12の
中の通常命令とは、レジスタ間の転送命令などのよう
に、プログラムの配置されるアドレスにより、命令の選
択の必要がない命令である。図12の命令を囲んでいる
枠の大きさは、命令のサイズを表すものとする。図12
は、最適化処理により、最適化処理前の最適化命令のう
ち、1番目と3番目の最適化命令がサイズの大きな命令
に選択されて、2番目の最適化命令はサイズの小さな命
令が選択されている。
【0004】図12で表した最適化処理を行う方法を説
明する。図13は図12の最適化処理を局所的に説明す
るものである。図13の1301は最適化処理を行う
前、つまり、命令の選択が行われていない状態である。
1301の状態に対して、最適化処理を行った結果、図
13の1302のように命令2がサイズの大きな命令に
選択された。この場合、図13の1302の命令1のよ
うに、他の最適化命令のサイズの変化に依存し、再度最
適化処理を行って最終決定しなければならない場合があ
る。つまり、図13の1302の命令1は、命令2のサ
イズが変化したことにより、分岐先アドレス、分岐の距
離が変化したため、分岐する命令を再選択する必要があ
る。図13の1303は、図13の命令2が大きな命令
サイズが選択されたために、命令1も再度最適化処理に
より、大きな命令が選択されたことを表す。このよう
に、最適化処理は、1度で終わらず、命令のサイズ変化
が収束するまで、繰り返し行う必要がある。図13の1
303から1304では、最適化処理によって変化した
命令がない状態を表し、この状態をもって最適化処理を
終了する。図14は最適化処理の概要のフローチャート
である。従来は、図14に示した最適化処理をいかに高
速に行うかに着目していた。
【0005】
【発明が解決しようとする課題】従来の最適化処理方法
では、最適化処理をリンク時に行っている。プログラム
サイズの増大により、リンク時にすべての最適化処理を
行う場合、多くの時間を要するようになってきた。多く
のソースプログラムからなるシステムにおいて、プログ
ラムの修正を繰り返す場合、リンク処理は毎回行わなけ
ればならない。本発明は、アセンブル時に、未解決の最
適化命令の最大サイズの情報を持たせることにより、リ
ンク時に集中している最適化処理をアセンブル時と分割
して実行することを可能とし、リンク時の最適化処理に
要する時間を短縮する。
【0006】
【課題を解決するための手段】前記従来の課題を解決す
るために、本発明のアセンブラ・リンカの最適化方法
は、最適化命令か否かを判断する最適化命令判断ステッ
プと、前記最適化命令判断ステップで、最適化命令と判
断された場合、さらにファイル内で最適化処理を行うこ
とができるか否かを判断する最適化処理段階判断ステッ
プと、最適化処理段階情報を最適化命令毎に作成する最
適化処理段階情報作成ステップと、前記最適化処理段階
情報に従って最適化処理を行う、最適化処理ステップを
含むことを特徴とする構成を有している。この構成によ
り、最適化処理をリンク時にすべて行なわずに、アセン
ブル時にあらかじめ終了させておくことが可能となる。
【0007】また、本発明のアセンブラ・リンカ最適化
方法は、前記最適化処理段階判断ステップが、ファイル
内で最適化処理できない命令の場合、前記命令の最適化
処理を行わないと想定して動作することを特徴とする構
成を有している。この構成により、ファイル内で最適化
処理を行うことが可能となる命令が格段に増える。
【0008】さらに、本発明のアセンブラ・リンカ最適
化方法は、前記最適化処理段階情報が、アセンブル時、
もしくはリンク時という情報を持つことを特徴とする構
成を有している。この構成により、リンク時の最適化処
理において、最適化処理を行うか否かを判断できるよう
になる。その結果、リンク時の最適化処理を必要最小限
行えばよくなり、リンク時における最適化処理時間を短
縮することにより、プログラム開発効率を向上させるこ
とができる。
【0009】本発明のアセンブラ・リンカ最適化装置
は、最適化命令か否かを判断する最適化命令判断部と、
前記最適化命令判断部で、最適化命令と判断された場
合、さらにファイル内で最適化処理を行うことができる
か否かを判断する最適化処理段階判断部と、最適化処理
段階情報を最適化命令毎に作成する最適化処理段階情報
作成部と、前記最適化処理段階情報に従って最適化処理
を行う、最適化処理部を含むことを特徴とする構成を有
している。この構成により、最適化処理をリンク時にす
べて行なわずに、アセンブル時にあらかじめ終了させて
おくことが可能となる。
【0010】また、本発明のアセンブラ・リンカ最適化
装置は、前記最適化処理段階判断部が、ファイル内で最
適化処理できない命令の場合、前記命令の最適化処理を
行わないと想定して動作することを特徴とする構成を有
している。この構成により、ファイル内で最適化処理を
行うことが可能となる命令が格段に増える。
【0011】さらに、本発明のアセンブラ・リンカ最適
化装置は、前記最適化処理段階情報が、アセンブル時、
もしくはリンク時という情報を持つことを特徴とする構
成を有している。この構成により、リンク時の最適化処
理において、最適化処理を行うか否かを判断できるよう
になる。その結果、リンク時の最適化処理を必要最小限
行えばよくなり、リンク時における最適化処理時間を短
縮することにより、プログラム開発効率を向上させるこ
とができる。
【0012】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図1から図9を用いて説明する。
【0013】図1は、本発明の実施の形態における最適
化処理方法の概要図である。最適化処理の対象に複数の
ソースプログラムの単位が105および106である。
ファイル105の最適化の行われる様子を詳しく説明す
る。ファイル105に含まれる最適化命令101、10
2は、最適化処理段階判断ステップにより、ファイル内
で最適化可能か否かを判定する。最適化処理段階判断ス
テップで、ファイル内で最適化可能と判断された最適化
命令101は、アセンブル時に最適化処理が行われ、ア
センブル終了時の状態において最適化済命令107とな
る。この最適化命令は、アセンブル終了をもって最終命
令となるため、リンク時には通常命令と同様に扱い、最
適化処理の対象からはずすことができる。ファイル10
5の最適化命令102についても、最適化処理により小
さな命令サイズが選択されていることを除けば最適化命
令101と同様である。次にファイル106について詳
細に説明する。ファイル106の最適化命令103は、
最適化処理段階判断ステップによりファイル内で最適化
ができないと判断された最適化命令である。したがって
最適化命令109の状態が表すように、最適化処理はア
センブル時に行われず、リンク時に行われて最終命令が
決定される。最適化命令104については、最適化処理
段階判断ステップによりファイル内で最適化が可能と判
断された命令であり、アセンブル終了時に最適化済命令
108となる。
【0014】図2は、最適化処理段階判断ステップが、
ファイル内で最適化可能か否かを判断するフローチャー
トである。最適化命令の中でファイル内で最適化可能な
ものは分岐命令でかつ分岐先がファイル内にあるときの
みである。最適化命令か否かを図2の201で判断し、
さらに最適化命令であった場合、分岐命令か否かを図2
の202で判断する。さらに分岐命令であった場合に
は、ファイル内に分岐先があるか否かを図2の203で
判断する。
【0015】図3は、最適化処理段階判断ステップにお
いて、ファイル内で最適化可能と判断された最適化命令
を、アセンブル時に行う最適化処理について説明するも
のである。図3の301は、最適化可能な分岐命令と、
分岐先との間に通常命令のみ存在する場合である。この
場合、分岐先までの相対距離の計算が可能であるので最
適化命令3011は、最終命令を決定でき、最適化済命
令とすることができる。図3の302は、最適化可能な
分岐命令と、分岐先との間に最適化命令が存在する場合
である。
【0016】図4は図3の302を具体的な命令で示し
たものである。分岐命令401は分岐先までの相対距離
を求めるのに、最適化命令402の最終サイズが決定さ
れていなければならない。しかし、アセンブル時におい
ては、最適化命令402の最終サイズは決定することが
できない。したがって、分岐命令401の最適化処理に
おいては、分岐先との間にある最適化命令402のサイ
ズを最大の命令になることを仮定し動作する。従って、
最適化命令402の最適化処理がリンク時に行われ、最
終命令サイズがどのように決定されても分岐命令401
の最適化の結果に影響を及ぼすことはない。したがっ
て、最適化命令401は、アセンブル終了時点で最適化
済命令とすることが可能である。
【0017】図5は、図4の例をより具体的に説明する
ために、命令の種類を仮定する。分岐命令には501、
502に示すように、分岐先までの相対距離により2種
類の命令があるものとする。相対分岐命令501は、分
岐先が、-128から+127までの8bitで表現できる範囲の
命令とし、相対分岐命令502は、分岐先が、-32768か
ら+32767の16ビットで表現できる範囲の命令とする。
また、図4のデータ転送命令402は、アドレス data
で示される絶対アドレスの内容を Register に転送する
命令とする。転送元のアドレス(dataのアドレス)によ
り、図5の503、504のように2種類の命令がある
ものとする。
【0018】図6は、図4の分岐命令401の最適化処
理を実施するため、図4の最適化命令402をどのよう
に扱うかを示したものである。図6の最適化命令602
は、図5の503、504で示すように2バイト、また
は3バイトの命令サイズを取りうるものとする。図6の
分岐命令601の最適化処理を行うにあたり、最適化命
令602の取りうる最大のサイズは3バイトであるた
め、最適化命令602は3バイトの命令という情報60
3を持つ。これにより、分岐命令601の最適化処理に
おいて、分岐先との相対距離を求めることができ、分岐
命令601の最終命令を決定することができる。
【0019】図7は、前記最適化処理を実施するため
に、最適化処理段階判断ステップによりファイル内で最
適化可能かどうかを判断し、最適化処理段階情報作成ス
テップにより、最適化処理段階情報が付加された状態を
表す。図7の702は図6で示した例と同一である。最
適化命令601は7021と、最適化命令602は70
22、最適化命令がとりうる最大のサイズである603
は7023に対応する。最適化命令がファイル内で最適
化可能であることを示す最適化処理段階情報Fを最適化
命令7011および7021は持つ。ファイル内で最適
化できない最適化命令7022は、最適化処理段階情報
Lを持つ。前記最適化処理段階情報を使用し、ファイル
内の最適化処理を実際に行うため、ファイル内でサイズ
の決定されない最適化命令7022については、命令の
最大サイズである3バイトを示す情報7023を持つ。
【0020】図8は、図7の状態をもとに行うファイル
内の最適化処理をフローチャートで示したものである。
最適化命令か否かを判断する最適化命令判断ステップ8
01で最適化命令か否かを判断する。最適化命令でない
場合、次の命令の処理へと進む。最適化命令の場合、フ
ァイル内で最適化可能か否かを判断する最適化処理段階
判断ステップ802でファイル内で最適化可能か否かを
判断する。ファイル内で最適化可能の場合、最適化命令
にフラグFを設定する。図7の701の7011の最適
化命令はフラグFが設定されている状態を示す。図7の
702の最適化命令7021についても同じである。図
8のファイル内で最適化可能か否かを判断する最適化処
理段階判断ステップ802で、ファイル内で最適化不可
能と判断された場合、他のファイル内最適化可能命令の
最適化処理のために、最適化処理段階がリンク時である
ことを示すフラグLおよび、最適化命令の最大サイズの
情報を付加する。図7の702の最適化命令7022
は、最適化をリンク時に行うためのフラグLと、最大サ
イズ情報7023が付加された状態を示すものである。
次に、ファイルの最後の命令か否かを判断する805に
よって、ファイルの最後まで繰り返し処理を行う。ここ
までで、すべての最適化命令にフラグFまたは、フラグ
Lおよび最大サイズ情報が付加された状態となる。実際
の最適化処理は図8の806以降のステップで行う。最
適化命令か否かを判断する最適化命令判断ステップ80
6で、最適化命令か否かを判断する。最適化命令の場
合、フラグFが設定されているファイル内で最適化可能
な命令については最適化処理ステップ808により、最
終の命令を決定する。最終命令を決定する際に、図7の
702の最適化命令7021は、図6で示したように、
分岐先アドレスがリンク時に処理される最適化命令70
22のサイズに影響される場合には、フラグLの最適化
命令に設定されている最大サイズで最適化処理を行う。
最適化処理は、最終命令か否かを判断する809によ
り、ファイルの最後の命令まで繰り返し行われる。
【0021】図9は、アセンブル時に前記最適化処理を
行った前提で行うリンク処理のフローチャートを示した
ものである。図7で示した最適化命令7011および最
適化命令7022は、最適化処理段階情報Fを持ち、ア
センブル時に最適化処理済みであり、リンク時に最適化
処理を行わなくてもよい。最適化命令か否かを判断する
最適化命令判断ステップ901で最適化命令か否かを判
断する。最適化命令でなければ、最適化処理を行う必要
がなく、即座に最終命令が決定される。最適化命令であ
れば、ステップ902でファイル内で最適化処理を行っ
たか否かを図7で示した最適化処理段階情報のFまたは
Lで判断する。図7の最適化命令7011や最適化命令
7021は、ファイル内で最適化されている命令と判断
され、最適化処理を行わずに即座に最終命令を決定す
る。前記、最適化命令か否かを判断する最適化命令判断
ステップ901で最適化命令と判断されかつファイル内
で最適化可能な命令か否かを判断するステップ902
で、最適化処理段階情報がLでありリンク時に最適化処
理を行う最適化命令に対してのみ最適化処理903を実
施する。次に、ファイルの最後の命令か否かを判断する
905によって、リンクした状態で前記最適化処理を繰
り返し行う。
【0022】
【発明の効果】以上、本発明のアセンブラ・リンカの最
適化方法は、最適化命令か否かを判断する最適化命令判
断ステップと、前記最適化命令判断ステップで、最適化
命令と判断された場合、さらにファイル内で最適化処理
を行うことができるか否かを判断する最適化処理段階判
断ステップと、最適化処理段階情報を最適化命令毎に作
成する最適化処理段階情報作成ステップと、前記最適化
処理段階情報に従って最適化処理を行う、最適化処理ス
テップを含むことを特徴とする構成を有している。この
構成により、最適化処理をリンク時にすべて行なわず
に、アセンブル時にあらかじめ終了させておくことが可
能となる。
【0023】また、本発明のアセンブラ・リンカ最適化
方法は、前記最適化処理段階判断ステップが、ファイル
内で最適化処理できない命令の場合、前記命令の最適化
処理を行わないと想定して動作することを特徴とする構
成を有している。この構成により、ファイル内で最適化
処理を行うことが可能となる命令が格段に増える。
【0024】さらに、本発明のアセンブラ・リンカ最適
化方法は、前記最適化処理段階情報が、アセンブル時、
もしくはリンク時という情報を持つことを特徴とする構
成を有している。この構成により、リンク時の最適化処
理において、最適化処理を行うか否かを判断できるよう
になる。その結果、リンク時の最適化処理を必要最小限
行えばよくなり、リンク時における最適化処理時間を短
縮することにより、プログラム開発効率を向上させるこ
とができる。
【0025】本発明のアセンブラ・リンカ最適化装置
は、最適化命令か否かを判断する最適化命令判断部と、
前記最適化命令判断部で、最適化命令と判断された場
合、さらにファイル内で最適化処理を行うことができる
か否かを判断する最適化処理段階判断部と、最適化処理
段階情報を最適化命令毎に作成する最適化処理段階情報
作成部と、前記最適化処理段階情報に従って最適化処理
を行う、最適化処理部を含むことを特徴とする構成を有
している。この構成により、最適化処理をリンク時にす
べて行なわずに、アセンブル時にあらかじめ終了させて
おくことが可能となる。
【0026】また、本発明のアセンブラ・リンカ最適化
装置は、前記最適化処理段階判断部が、ファイル内で最
適化処理できない命令の場合、前記命令の最適化処理を
行わないと想定して動作することを特徴とする構成を有
している。この構成により、ファイル内で最適化処理を
行うことが可能となる命令が格段に増える。
【0027】さらに、本発明のアセンブラ・リンカ最適
化装置は、前記最適化処理段階情報が、アセンブル時、
もしくはリンク時という情報を持つことを特徴とする構
成を有している。この構成により、リンク時の最適化処
理において、最適化処理を行うか否かを判断できるよう
になる。その結果、リンク時の最適化処理を必要最小限
行えばよくなり、リンク時における最適化処理時間を短
縮することにより、プログラム開発効率を向上させるこ
とができる。
【図面の簡単な説明】
【図1】本発明の第一の実施の形態における最適化処理
の概略図
【図2】最適化処理段階判断ステップのフローチャート
【図3】ファイル内で最適化可能な2種類の例を示す図
【図4】図3の302を具体的な命令で示した図
【図5】最適化処理により、選択される可能性のある命
令を示す図
【図6】図4の最適化命令402の持つサイズ情報を示
した図
【図7】最適化処理段階情報が付加された状態を示す図
【図8】図7の状態をもとに行うファイル内の最適化処
理のフローチャート
【図9】アセンブル時に最適化処理を行った場合のリン
ク処理のフローチャート
【図10】同じ動作をする2種類の命令の存在を示す図
【図11】図10の命令動作を示す図
【図12】最適化処理の概念図であり、最適化前の状態
と、最終状態を示す図
【図13】従来の最適化処理方法による最適化処理の流
れを示す図
【図14】従来の最適化処理方法の概略フローチャート
【符号の説明】
101 アセンブル時に最適化処理される最適化命令 102 アセンブル時に最適化処理される最適化命令 103 リンク時に最適化処理される最適化命令 104 アセンブル時に最適化処理される最適化命令 105 最適化対象のアセンブラファイル1 106 最適化対象のアセンブラファイル2 107 アセンブル時に最適化処理された命令 108 アセンブル時に最適化処理された命令 109 リンク時に最適化処理される命令 201 最適化命令か否かの判断ステップ 202 分岐命令か否かの判断ステップ 203 飛び先がファイル内か否かの判断ステップ 301 ファイル内で最適化する分岐命令で、分岐先と
の間に最適化命令を含まないもの 302 ファイル内で最適化する分岐命令で、分岐先と
の間に最適化命令を含むもの 401 301の命令1を具体的な分岐命令で表したも
の 402 301の命令2を具体的なデータ転送命令で表
したもの 501 401の分岐命令で命令サイズが2バイトのも
の 502 401の分岐命令で命令サイズが3バイトのも
の 503 402のデータ転送命令で命令サイズが2バイ
トのもの 504 402のデータ転送命令で命令サイズが3バイ
トのもの 601 301の命令1を具体的な分岐命令で表したも
の 602 301の命令2を具体的なデータ転送命令で表
したもの 603 最適化命令の最大のサイズ情報 701 ファイル内で最適化する分岐命令で、分岐先と
の間に最適化命令を含まないもの 702 ファイル内で最適化する分岐命令で、分岐先と
の間に最適化命令を含むもの 801 最適化命令か否かを判断するステップ 802 ファイル内で最適化可能か否かを判断するステ
ップ 803 ファイル内で最適化処理が可能なことを示すフ
ラグFをセットするステップ 804 ファイル内で最適化処理ができず、リンク時に
行うフラグLのセットおよび、最適化命令の最大サイズ
を設定するステップ 805 フラグF、フラグLおよび最大サイズ情報の付
加を繰り返し行う繰り返し判定ステップ 806 最適化命令か否かを判断するステップ 807 ファイル内で最適化可能か否かを判断するステ
ップ 808 最適化処理ステップ 809 ファイル内最適化処理を繰り返し行う繰り返し
判定ステップ 901 最適化命令か否かを判断するステップ 902 ファイル内で最適化処理済みか否かを判断する
ステップ 903 最適化処理ステップ 904 最終命令を決定する機械語コード生成ステップ 905 リンク時の最適化を最後の命令まで繰り返し行
う繰り返し判定ステップ 1001 16bitで表現できる絶対アドレスに分岐でき
る分岐命令 1002 32bitで表現できる絶対アドレスに分岐でき
る分岐命令 1301 最適化処理前の2つの最適化命令の状態 1302 1回目の最適化処理により、命令2のサイズ
が変化した状態 1303 2回目の最適化処理により、命令1のサイズ
が変化した状態 1304 3回目の最適化処理により、サイズの変化し
た命令が存在しない状態 3011 ファイル内の最適化命令 3021 ファイル内の最適化命令 3022 ファイル内の最適化命令である分岐命令の、
分岐先との間にある最適化命令 7011 ファイル内の最適化命令 7021 ファイル内の最適化命令 7022 ファイル内の最適化命令である分岐命令の、
分岐先との間にある最適化命令 7023 最適化命令7022が持つ、最大サイズ情報

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 最適化命令か否かを判断する最適化命令
    判断ステップと、前記最適化命令判断ステップで、最適
    化命令と判断された場合、さらにファイル内で最適化処
    理を行うことができるか否かを判断する最適化処理段階
    判断ステップと、最適化処理段階情報を最適化命令毎に
    作成する最適化処理段階情報作成ステップと、前記最適
    化処理段階情報に従って最適化処理を行う、最適化処理
    ステップを含むことを特徴とするアセンブラ最適化方
    法。
  2. 【請求項2】 前記最適化処理段階判断ステップが、フ
    ァイル内で最適化処理できない命令の場合、前記命令の
    命令サイズを最大のサイズを仮定して動作することを特
    徴とする請求項1記載のアセンブラ最適化方法。
  3. 【請求項3】 前記最適化処理段階情報が、アセンブル
    時に最適化を行うか、リンク時に最適化を行うかの情報
    を持つことを特徴とする請求項1または2記載のアセン
    ブラ最適化方法。
  4. 【請求項4】 最適化命令か否かを判断する最適化命令
    判断ステップと、前記最適化命令判断ステップで、最適
    化命令と判断された場合、さらにファイル内で最適化処
    理を行うことができるか否かを判断する最適化処理段階
    判断ステップと、最適化処理段階情報を最適化命令毎に
    作成する最適化処理段階情報作成ステップと、前記最適
    化処理段階情報に従って最適化処理を行う、最適化処理
    ステップを含むことを特徴とするプログラムを記録した
    アセンブラ最適化プログラム記録媒体。
  5. 【請求項5】 前記最適化処理段階判断ステップが、フ
    ァイル内で最適化処理できない命令の場合、前記命令の
    命令サイズを最大のサイズを仮定して動作することを特
    徴とするプログラムを記録した請求項1記載のアセンブ
    ラ最適化プログラム記録媒体。
  6. 【請求項6】 前記最適化処理段階情報が、アセンブル
    時に最適化を行うか、リンク時に最適化を行うかの情報
    を持つことを特徴とするプログラムを記録した請求項1
    または2記載のアセンブラ最適化プログラム記録媒体。
  7. 【請求項7】 最適化命令か否かを判断する最適化命令
    判断部と、前記最適化命令判断部で、最適化命令と判断
    された場合、さらにファイル内で最適化処理を行うこと
    ができるか否かを判断する最適化処理段階判断部と、最
    適化処理段階情報を最適化命令毎に作成する最適化処理
    段階情報作成部と、前記最適化処理段階情報に従って最
    適化処理を行う、最適化処理部を含むことを特徴とする
    アセンブラ最適化装置。
  8. 【請求項8】 前記最適化処理段階判断部が、ファイル
    内で最適化処理できない命令の場合、前記命令の命令サ
    イズを最大のサイズを仮定して動作することを特徴とす
    る請求項7記載のアセンブラ最適化装置。
  9. 【請求項9】 前記最適化処理段階情報が、アセンブル
    時、もしくはリンク時という情報を持つことを特徴とす
    る請求項7または8記載のアセンブラ最適化装置。
JP7147299A 1999-03-17 1999-03-17 アセンブラ最適化方法およびその装置 Pending JP2000267860A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7147299A JP2000267860A (ja) 1999-03-17 1999-03-17 アセンブラ最適化方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7147299A JP2000267860A (ja) 1999-03-17 1999-03-17 アセンブラ最適化方法およびその装置

Publications (1)

Publication Number Publication Date
JP2000267860A true JP2000267860A (ja) 2000-09-29

Family

ID=13461603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7147299A Pending JP2000267860A (ja) 1999-03-17 1999-03-17 アセンブラ最適化方法およびその装置

Country Status (1)

Country Link
JP (1) JP2000267860A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008505422A (ja) * 2004-07-02 2008-02-21 エヌヴィディア コーポレイション 頂点及びフラグメントプログラムの最適化されたチェイニング
US10489131B2 (en) 2017-01-25 2019-11-26 Fujitsu Limited Efficient compilation for link time optimization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008505422A (ja) * 2004-07-02 2008-02-21 エヌヴィディア コーポレイション 頂点及びフラグメントプログラムの最適化されたチェイニング
US10489131B2 (en) 2017-01-25 2019-11-26 Fujitsu Limited Efficient compilation for link time optimization

Similar Documents

Publication Publication Date Title
JP2000222220A (ja) 動的コンパイル時期決定方法、バイトコード実行モード選択方法、及びコンピュータ
NL1004826C2 (nl) Programmageheugenstelsel voor processoren.
US7017030B2 (en) Prediction of instructions in a data processing apparatus
JP4412905B2 (ja) 低電力動作制御装置、およびプログラム最適化装置
EP0297943B1 (en) Microcode reading control system
CN112416360B (zh) 热补丁的生成方法、装置和服务器
US7003651B2 (en) Program counter (PC) relative addressing mode with fast displacement
JP2000267860A (ja) アセンブラ最適化方法およびその装置
JPS62226231A (ja) プロセツサ
US6944852B2 (en) Compiler
JP3267550B2 (ja) デグレードチェック装置
JPH0877021A (ja) 割込処理装置および方法
US20070266230A1 (en) Information processing method and instruction generating method
JP3123946B2 (ja) マイクロコンピュータ
JP3381253B2 (ja) シミュレーション装置
JPH1124939A (ja) プログラム変換方法
JPH0954694A (ja) パイプラインプロセッサおよびその処理方法
JPH0527986A (ja) コンパイラの最適化方法および最適化装置
JPH07225681A (ja) 割込制御装置
CN115729564A (zh) 原生应用对Linux Arm64的兼容性判断方法
JP2022033968A (ja) 処理速度整合回路およびマイクロプロセッサ
CN114816535A (zh) 利用超标量处理器进行指令融合的方法及相关设备
JPH08137687A (ja) プログラム制御装置
JP5679263B2 (ja) 情報処理装置及びマイクロ命令処理方法
JP3419276B2 (ja) 命令プリフェッチ装置、および命令プリフェッチ方法