JPH07104789B2 - 共通アセンブラ命令列の削除装置 - Google Patents

共通アセンブラ命令列の削除装置

Info

Publication number
JPH07104789B2
JPH07104789B2 JP61210268A JP21026886A JPH07104789B2 JP H07104789 B2 JPH07104789 B2 JP H07104789B2 JP 61210268 A JP61210268 A JP 61210268A JP 21026886 A JP21026886 A JP 21026886A JP H07104789 B2 JPH07104789 B2 JP H07104789B2
Authority
JP
Japan
Prior art keywords
assembler
instruction sequence
program
common
instruction
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.)
Expired - Fee Related
Application number
JP61210268A
Other languages
English (en)
Other versions
JPS6365532A (ja
Inventor
直樹 興津
典男 田村
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 JP61210268A priority Critical patent/JPH07104789B2/ja
Publication of JPS6365532A publication Critical patent/JPS6365532A/ja
Publication of JPH07104789B2 publication Critical patent/JPH07104789B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔概要〕 高級言語で記述されたソースプログラムをアセンブラプ
ログラム,又は目的プログラムにコンパイルする過程に
おいて、或いは上記アセンブラプログラムを変換する過
程において、或いは上記アセンブラプログラムを目的プ
ログラムにアセンブラする過程において、例えば上記ア
センブラプログラムを入力して、該アセンブラプログラ
ム中に存在する、共通のアセンブラ命令列の‘対’を全
て抽出し、該‘対’として抽出された共通のアセンブラ
命令列の内、後方のアセンブラ命令列を削除する為の判
定手段を設けることにより、該判定手段で削除条件を満
たすアセンブラ命令列を削除するようにしたものであ
る。
〔産業上の利用分野〕
本発明は、例えば、高級言語で記述されたソースプログ
ラムをアセンブラプログラム,又は目的プログラムにコ
ンパイルする過程において、例えば上記アセンブラプロ
グラムを入力して、該アセンブラプログラム中に存在す
る共通のアセンブラ命令列の内、後方のアセンブラ命令
列を削除する装置に関する。
最近の計算機技術の進歩に伴って、計算機によるデータ
処理が普及してくるにつれ、該計算機に対する処理能力
の向上に対する要求は益々大きくなる動向にある。
然して、一般に、高級言語で記述されているプログラム
をコンパイラによってアセンブルレベルのプログラムに
翻訳する場合には、特定の規約に基づいて変換が行われ
る為、冗長なアセンブラ命令列が潜在化することが多
く、該計算機での処理能力を向上させる為には、このよ
うな冗長な命令列を効果的に削除するアセンブラ命令列
削除装置が必要とされる。
〔従来の技術と発明が解決しようとする問題点〕
第5図は従来のコンパイラでの最適化手法を説明する図
である。
従来から高級言語で記述されたソースプログラムをコン
パイルして、アセンブラレベルのプログラムに変換する
場合、該プログラムが使用される計算機システムのハー
ドウェア構成の特徴に基づいてアセンブラ命令列の最適
化を行っていた。
具体例で説明すると、 グローバルな最適化手段: アセンブラ命令のフロー単位(例えば、1つの分岐点か
ら次の分岐点,或いは該分岐点から特定のラベルが付与
されている命令迄の命令列)間での最適化手段として、
該フロー単位間に、例えば、a,b,c,…なる変数があり、
該変数にデータをロードする場合、最も使用頻度の高い
変数に、該計算機システムに実在しているレジスタの
内、使用可能なレジスタを割り当てて高速化を図り、残
りの変数については、主記憶からロードするようにして
プログラムフロー単位間の最適化を図っていた。
ローカルな最適化手段: (1)レジスタの割り当てによる最適化手段は、で説
明した手法によって行う。
(2)ピープホール(Peephole)最適化法: 例えば、「コンパイラ設計の原理」エイ.ブイ.エイ
ホ,ジェイ.ディ.ウルマン著,アディソン−ウェズリ
刊,1977,第15章,第15.7節のピープホール最適化法,548
頁〜552頁{“Principles of Compiler Design"A.V.Ah
o,J.D.Ullman,Addison−Wesley,1977,Chapter 15,§15.
7 Peephole optimization,P.548〜552}に示されている
ように、原則として、命令単位で行う最適化手段であ
り、例えば、ロード命令等のメモリアクセスが続いてい
る場合、該メモリアクセス命令の内、レジスタ間演算命
令で実行できるものは、該レジスタ間演算命令に変換す
る。
又、特定のレジスタにデータを設定する命令の場合に
は、アクセス時間のかかるロード命令を、例えば、イミ
ディエイト命令に置き換える。
以上、概略の説明をしたように、従来の最適化手段にお
いては、該プログラムが使用されるマシンのハードウェ
ア上の特徴に合わせて、例えば、命令単位で見て、処理
時間の短い命令に置き換えるようにして、アセンブラ命
令列の最適化を図っていた。
従って、従来装置においては、マシンのハードウェア特
性に依存した命令単位の置き換えであって、例えば、ア
センブラ命令列間での干渉を見て,特定のアセンブラ命
令列を削除すると云った方法でない為、実効的な最適化
の効果が上がらないと云う問題があった。
本発明は上記従来の欠点に鑑み、例えば、高級言語で記
憶されたソースプログラムをアセンブラプログラム,又
は目的プログラムにコンパイルする過程において、或い
はアセンブラプログラムを処理速度のより高速で等価な
アセンブラプログラムに変換する過程において,或いは
アセンブラプログラムを目的プログラムにアセンブルす
る過程において、上記アセンブラプログラム,又は目的
プログラムを入力して、該アセンブラプログラム,又は
目的プログラムの制御が直線的に流れるフロー単位中に
存在する、例えば、共通アセンブラ命令列を抽出し、相
互の干渉を調べて、冗長なアセンブラ命令列を削除する
装置を提供することを目的とするものである。
〔問題点を解決するための手段〕
第1図が、本発明の共通アセンブラ命令列の削除装置の
構成を示した図である。
本発明の共通アセンブラ命令列の削除装置においては、 高級言語で記述されたソースプログラムをアセンブラプ
ログラム,又は目的プログラムにコンパイルする過程に
おいて、 上記アセンブラプログラム,又は目的プログラムを入力
して、該アセンブラプログラム,又は目的プログラムの
制御が直線的に流れるフロー単位中に存在する、共通の
アセンブラ命令列,又は目的命令列の‘対’を全て抽出
する手段(2)と、 該‘対’として抽出された共通のアセンブラ命令列,又
は目的命令列の内、後方のアセンブラ命令列,又は目的
命令列を削除するの為の判定をするのに、 該アセンブラプログラム,又は目的プログラムの制御が
直線的に流れるフロー単位内の命令列Uについて、 参照が先行する資源の集合をref(U) 定義が一回でも存在する資源の集合をdef(U)とした
とき、上記制御が直線的に流れるフロー単位内の命令列
A,X,Bの内、命令列Aと命令列Bとが共通アセンブラ命
令列,又は共通目的命令列であって、 def(X)∩{def(A)∪ref(A)}=0 ref(A)∩{def(A)=0 なる条件を認識する手段(3)と、 上記条件が成立したとき、上記後方の共通アセンブラ命
令列,又は共通目的命令列Bを削除する手段(4)を備
えるように構成する。
〔作用〕
即ち、本発明によれば、高級言語で記述されたソースプ
ログラムをアセンブラプログラム,又は目的プログラム
にコンパイルする過程において、 上記アセンブラプログラム,又は目的プログラムを入力
して、該アセンブラプログラム,又は目的プログラムの
制御が直線的に流れるフロー単位中に存在する、共通の
アセンブラ命令列,又は目的命令列の‘対’を全て抽出
し、、 該‘対’として抽出された共通のアセンブラ命令列,又
は目的命令列の内、後方のアセンブラ命令列,又は目的
命令列を削除するの為の判定をするのに、 該アセンブラプログラム,又は目的プログラムの制御が
直線的に流れるフロー単位内の命令列Uについて、 参照が先行する資源の集合をref(U) 定義が一回でも存在する資源の集合をdef(U)とした
とき、上記制御が直線的に流れるフロー単位内の命令列
A,X,Bの内、命令列Aと命令列Bとが共通アセンブラ命
令列,又は共通目的命令列であって、 def(X)∩{def(A)∪ref(A)}=0 ref(A)∩{def(A)=0 なる条件を認識する手段(3)と、 上記条件が成立したとき、上記後方の共通アセンブラ命
令列,又は共通目的命令列Bを削除する手段(4)を備
えるようにしたものであるので、ソースプログラムプロ
グラムをコンパイルする際、一般に、中間言語のレベル
で行われる、大域的に冗長な文を削除する手段では取り
切れない、アセンブラプログラム,又は、目的プログラ
ム中に存在する冗長な命令列を、上記制御が直線的に流
れるフロー単位内で削除することができ、コンパイルの
結果で得られるアセンブラプログラム,又は目的プログ
ラムの最適化が図られ、実行時の処理時間を短縮させる
ことができる効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。前述の第
1図が本発明の共通アセンブラ命令列の削除装置の構成
を示した図であり、第2図はフロー単位内のアセンブラ
命令列の一例を示した図であり、第3図は本発明の定義
テーブルと,参照テーブルの構成例を示した図であり、
第4図はアセンブラ命令列を削除する判定条件を説明す
る図であり、第6図は本発明の共通アセンブラ命令列の
削除装置の位置付けを示した図であって、第1図におけ
るステップ2,3が本発明を実施するのに必要な手段であ
る。尚、全図を通して同じ符号は同じ対象物を示してい
る。
以下、第2図〜第4図を参照しながら、第1図,第6図
によって本発明の共通アセンブラ命令列の削除装置を説
明する。尚、本実施例においては、共通アセンブラ命令
列を例にして説明するが、これに限るものではなく、例
えば、目的プログラム等であってもよいことはいうまで
もないことである。
先ず、第6図を用いて、本発明の共通アセンブラ命令列
の削除装置の位置付けを説明する。
本発明の共通アセンブラ命令列の削除装置は、第6図に
示してある如く、例えば、コンパイラ装置とアセンブラ
装置との間に介在し、コンパイラ装置で中間言語レベル
での最適化(冗長命令の削除)が行われたアセンブラプ
ログラムに対して、上記中間言語レベルでの大域的な冗
長命令の削除手段(上記最適化の手段)では取り切れな
かった、例えば、アセンブラ命令列を削除する装置であ
る。
以下、第1図によって、上記共通アセンブラ命令列の削
除装置により、例えば、アセンブラプログラムから冗長
なアセンブラ命令列を削除する装置の動作を詳細に説明
する。
ステップ1:先ず、コンパイラによってコンパイルされた
アセンブラプログラムファイルから、1フロー単位のア
センブラ命令列を入力する。
ステップ2:1フロー単位内の全ての共通アセンブラ命令
列の‘対’を公知の「ハッシング手法」{例えば、「デ
ータ構造とアルゴリズム」エイ.ブイ.エイホウ,ジエ
イ.イー.ホプクロフト,ジェイ.ディ.ウルマン著,
アディソン−ウェズリ刊,1983,第4章,122頁〜134頁
(“Data Structures and Algorithms"A.V.Aho,J.E.Hop
croft,J.D.Ullman,Addison−Wesley,1983,Chapter 4,P1
22〜134)参照}を利用して検索し、ファイルメモリに
記憶する。
そのアセンブラ命令列を第1表に示す。
本表で、アセンブラ命令列Aにおいて、「L 3,a」を主
記憶のアドレスa番地の内容をレジスタ3にロードする
ことを意味し、「LR 2,3」はレジスタ3の内容をレジス
タ2にロードすることを意味し、「LA 3,0(0,2)」は
ベースレジスタ2の内容とインデクスレジスタ0(実際
は、無指定)の内容とを加算したアドレスから変位‘0'
の位置、即ちベースレジスタ2が示すアドレスの内容
の、例えば、下位24ビットをレジスタ3にロードするこ
とを意味し、「L 9,0(0,3)」はベースレジスタ3の内
容とインデックスレジスタ0(実際は、無指定)の内容
とを加算したアドレスから変位‘0'の位置、即ちベース
レジスタ3が示す内容をレジスタ9にロードすることを
意味する。従って、アセンブラ命令列Aにおいては、主
記憶a番地の内容が示す番地の内容をレジスタ9に、間
接ロードする処理を示している。
アセンブラ命令列Xにおいては、「N 10,X‘FFFF'」は
レジスタ10の内容と、16進数の‘FFFF'との論理積をと
って、レジスタ10に格納することを意味し、「SRL 10,
4」は上記レジスタ10の内容を右に4ビットシフト、即
ち、24で割ることを意味している。
アセンブラ命令列Bは、第1表から明らかなように、ア
センブラ命令列Aと共通のアセンブラ命令列を構成して
おり、本発明の削除の対象になっている。
第2図は、上記アセンブラ命令列のフロー単位を示した
図で、四角で示される部分がアセンブラ命令列で、第1
表で示した命令列A,X,Bに、それぞれ対応している。
本図において、アセンブラ命令列AとBは、前述のよう
に共通アセンブラ命令列を構成しており、該共通アセン
ブラ命令列AとBは、あくまでも形式的な一致であっ
て、本当に削除可能かどうかは該命令列の中に存在して
いる資源、即ち、レジスタ,メモリ,条件コードの流れ
を解析することによって判明する。
アセンブラ命令列Bが削除できる為の条件は、命令列B
を実行した場合と,しない場合とで、ハードウェアの持
つ上記資源が全く同一であると云うことである。これを
言い換えれば、プログラム点γとプログラム点δとで、
ハードウェアの持つ上記資源の値が同一であると云うこ
とになる。
本発明の主眼はこの削除可能条件を判定する手段にあ
る。
ここで、該削除条件の説明に入る前に、アセンブラ命令
列を、一般的に‘U'で表し、集合ref(U),def(U)
を次の通り定義する。即ち、 ref(U):フロー単位内において、参照が先行する資
源の集合。
def(U):フロー単位内において、定義が一回でも存
在する資源の集合。
である。
第3図は上記フロー単位内に存在するアセンブラ列A,X,
Bの集合def(U),とref(U)とをアセンブラ命令列
単位に定義テーブル{def(U)}と,参照テーブル{r
ef(U)}として構成した例である。
アセンブラ命令列Aにおいては、def(A)と,ref
(A)は(a)に示す通りとなり、def(X)と,ref
(X)は(b)に示す通りになることは、上記第1表の
アセンブラ命令列から明らかである。
この第3図に示されたテーブルを基に、アセンブラ命令
列Aと共通なアセンブラ命令列Bが削除できるかどうか
を次のステップで判定する。
ステップ3:各共通アセンブラ命令列の‘対’毎に、該共
通アセンブラ命令列の後方に存在するアセンブラ命令列
が削除できるかどうかを判定する条件として、 def(X)∩{def(A)∪ref(A)}=0 …… ref(A)∩ def(A)=0 …… を定義し、上記第3図で示した定義テーブル{def
(U)}と,参照テーブル{ref(U)}から上記条件
を満たしているかどうかを判定する。
ここで、はフロー単位内のdef(X)がアセンブラ命
令列Aに与える影響を示しており、は共通アセンブラ
命令列A内のref(A)とdef(A)との相互関係を示し
ている。
第4図において、(a)は上記の条件の判定例を示し
ていて、riはレジスタiを示し、 ri←:は定義を、 ←ri:は参照を、 それぞれ示していて、上側の行に記述されている条件が
先行条件を示している。
本図の(a)から明らかな如く、アセンブラ命令列Aと
Xとの間においては、上記の条件、 def(X)∩{def(A)∪ref(A)}=0 を満たしており、アセンブラ命令列Xを実行しても、ア
センブラ命令列Aに対する影響がないことが分かる。
本図の(b1),(b2)は上記の判定条件の一例を第1
表のアセンブラ命令列とは異なる例で示しており、(b
1)はレジスタ(r1)に対して、定義が先行している場合
を示し、(b2)はレジスタ(r1)に対して、参照が先行し
ている場合を示している。
同図の(b1)の場合には、定義(r1=1)が先行している
為、アセンブラ命令列Aでの実行を、アセンブラ命令列
Bで再実行している結果となり、アセンブラ命令列B
は、本フロー単位内においては不要な命令列であること
を示している。
然して、(b2)の場合には、レジスタ(r1)に対する参照
(r2=r1+1のr1)が先行している為、アセンブラ命令列
Aと,Bとでは実行内容が異なることになる。
従って、この場合には、アセンブラ命令列Bは削除でき
ないことになる。
この例を参照して、本図の(a)を見ると、アセンブラ
命令例A,Bにおいて、使用されているレジスタ(r2,r3)に
ついては、定義が先行しているので、上記の判定条件 ref(A)∩def(A)=0 を満たすことになり、アセンブラ命令列Bは削除できる
ことになる。
尚、メモリa(m)については、参照されているが後で
使用されていないので、本判定条件の対象外となる。
ステップ4:削除可能なアセンブラ命令列、例えば、Bを
フロー単位内から削除し、当該フロー単位を出力し、目
的アセンブラプログラムを生成し、ファイルメモリに格
納する。
このように、本発明は、高級言語で記述されたソースプ
ログラムを、例えば、コンパイルしてアセンブラレベル
に変換する過程において、得られたアセンブラプログラ
ムの1つのフロー単位内におけるアセンブラ命令列、例
えば、AXB間において、AとBが形式的に一致し
ていて、 def(X)∩{def(A)∪ref(A)}=0 ref(A)∩def(A)=0 なる判定条件を満足する場合、後続の共通アセンブラ命
令列Bを削除するようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明の共通アセンブラ
命令列の削除装置は、高級言語で記述されたソースプロ
グラムをアセンブラプログラム,又は目的プログラムに
コンパイルする過程において、 上記アセンブラプログラム,又は目的プログラムを入力
して、該アセンブラプログラム,又は目的プログラムの
制御が直線的に流れるフロー単位中に存在する、共通の
アセンブラ命令列,又は目的命令列の‘対’を全て抽出
し、、 該‘対’として抽出された共通のアセンブラ命令列,又
は目的命令列の内、後方のアセンブラ命令列,又は目的
命令列を削除するの為の判定をするのに、 該アセンブラプログラム,又は目的プログラムの制御が
直線的に流れるフロー単位内の命令列Uについて、 参照が先行する資源の集合をref(U) 定義が一回でも存在する資源の集合をdef(U)とした
とき、上記制御が直線的に流れるフロー単位内の命令列
A,X,Bの内、命令列Aと命令列Bとが共通アセンブラ命
令列,又は共通目的命令列であって、 def(X)∩{def(A)∪ref(A)}=0 ref(A)∩{def(A)=0 なる条件を認識する手段(3)と、 上記条件が成立したとき、上記後方の共通アセンブラ命
令列,又は共通目的命令列Bを削除する手段(4)を備
えるようにしたものであるので、ソースプログラムをコ
ンパイルする際、一般に、中間言語のレベルで行われ
る、大域的に冗長な文を削除する手段では取り切れな
い、アセンブラプログラム,又は、目的プログラム中に
存在する冗長な命令列を、上記制御が直線的に流れるフ
ロー単位内で削除することができ、コンパイルの結果で
得られるアセンブラプログラム,又は目的プログラムの
最適化が図られ、実行時の処理時間を短縮させることが
できる効果がある。
【図面の簡単な説明】
第1図は本発明の共通アセンブラ命令列の削除装置の構
成を示した図 第2図はフロー単位内のアセンブラ命令列を示した図, 第3図は本発明の定義テーブルと,参照テーブルの構成
例を示した図, 第4図はアセンブラ命令列を削除する判定条件を説明す
る図 第5図は従来のコンパイラの最適化手段を説明する図, 第6図は本発明の共通アセンブラ命令列の削除装置の位
置付けを示した図である。 図面において、 1〜4は動作ステップ, α〜δはプログラム点, A,X,Bはα命令列, ref(U)は参照が先行する資源の集合, def(U)は定義が一回でも存在する資源の集合, riはレジスタi,mはメモリ, をそれぞれ示す。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−49242(JP,A) 中田 育男著「コンパイラ」(昭56−9 −10)産業図書株式会社 P.247−250

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】高級言語で記述されたソースプログラムを
    アセンブラプログラム,又は目的プログラムにコンパイ
    ルする過程において、 上記アセンブラプログラムを入力して、該アセンブラプ
    ログラムの制御が直線的に流れるフロー単位中に存在す
    る、共通のアセンブラ命令列の‘対’を全て抽出する手
    段(2)と、 該‘対’として抽出された共通のアセンブラ命令列の
    内、後方のアセンブラ命令列を削除する為の判定をする
    のに、 該アセンブラプログラムの制御が直線的に流れるフロー
    単位内の命令列Uについて、 参照が選考する資源の集合をref(U) 定義が一回でも存在する資源の集合をdef(U)とした
    とき、 上記制御が直線的に流れるフロー単位内の命令列A,X,B
    の内、命令列Aと命令列Bとが共通アセンブラ命令列で
    あって、 def(X)∩{def(A)∪ref(A)}=0 ref(A)∩def(A)=0 なる条件を認識する手段(3)と、 上記条件が成立したとき、上記後方の共通アセンブラ命
    令列Bを削除する手段(4)を備えたことを特徴とする
    共通アセンブラ命令列の削除装置。
JP61210268A 1986-09-05 1986-09-05 共通アセンブラ命令列の削除装置 Expired - Fee Related JPH07104789B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61210268A JPH07104789B2 (ja) 1986-09-05 1986-09-05 共通アセンブラ命令列の削除装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61210268A JPH07104789B2 (ja) 1986-09-05 1986-09-05 共通アセンブラ命令列の削除装置

Publications (2)

Publication Number Publication Date
JPS6365532A JPS6365532A (ja) 1988-03-24
JPH07104789B2 true JPH07104789B2 (ja) 1995-11-13

Family

ID=16586577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61210268A Expired - Fee Related JPH07104789B2 (ja) 1986-09-05 1986-09-05 共通アセンブラ命令列の削除装置

Country Status (1)

Country Link
JP (1) JPH07104789B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0422398A3 (en) * 1989-10-12 1992-07-08 International Business Machines Corporation A method of optimizing a computer program by removing invariant branches from loops

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4656583A (en) * 1984-08-13 1987-04-07 International Business Machines Corporation Method for improving global common subexpression elimination and code motion in an optimizing compiler

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中田育男著「コンパイラ」(昭56−9−10)産業図書株式会社P.247−250

Also Published As

Publication number Publication date
JPS6365532A (ja) 1988-03-24

Similar Documents

Publication Publication Date Title
US6131189A (en) System and method to efficiently represent aliases and indirect memory operations in static single assignment form during compilation
US7950005B2 (en) Method and apparatus for performing versioning for loop, method and apparatus for collecting array range check information in basic blocks, method for modifying array range check information, method for optimizing array range checks, method for generating codes for array range checks, method and apparatus for eliminating redundant array range checks, method for selecting array range checks, method for modifying array range checks, method for collecting array range checks, and method for determining handling of array range checks
US7725883B1 (en) Program interpreter
US8291398B2 (en) Compiler for optimizing program
EP0838755B1 (en) Binary program conversion apparatus and method
JPH07234790A (ja) プログラム変換処理装置およびプログラム変換処理方法
JPH0695311B2 (ja) コード最適化方法
US7353503B2 (en) Efficient dead code elimination
JP3280332B2 (ja) ループに対するバージョニングを実行する方法及び装置、配列レンジ・チェックに関する情報をベーシック・ブロック内において収集する方法及び装置、配列レンジ・チェックに関する情報を変更する方法、配列レンジ・チェック最適化方法、配列レンジ・チェックのためのコードを生成する方法、不要配列レンジ・チェック除去方法及び装置、配列レンジ・チェックを選択する方法、配列レンジ・チェック変更方法、配列レンジ・チェック収集方法、及び配列レンジ・チェック取扱判断方法
JPH03172936A (ja) 手順間レジスタ割付けを伴うコンピュータプログラムのコンパイル方法及び装置
JP2002527815A (ja) プログラムコード変換方法
JP3424520B2 (ja) プログラム変換装置とデバッグ装置
US7624390B2 (en) Optimizing compiling of object oriented source code
JP3813087B2 (ja) プログラム変換方法、コンピュータ装置及びプログラム
US5721924A (en) Method and device for obtaining a value of a referred to variable defined in a source program having a specific variable name
US6665864B1 (en) Method and apparatus for generating code for array range check and method and apparatus for versioning
US5946493A (en) Method and system in a data processing system for association of source code instructions with an optimized listing of object code instructions
US7979853B2 (en) Compiler device, method, program and recording medium
US7240341B2 (en) Global constant pool to allow deletion of constant pool entries
JPH07104789B2 (ja) 共通アセンブラ命令列の削除装置
JP2002527816A (ja) プログラム最適化装置および方法
JP3430635B2 (ja) 定数参照最適化処理装置
US5748965A (en) Language processing method for calculating optimum address of array
JPH0689187A (ja) インライン展開最適化方法
JP2004139369A (ja) 定数アドレス領域を指示するポインタ解析方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees