JPH0527986A - Compiler optimization method and optimization apparatus - Google Patents

Compiler optimization method and optimization apparatus

Info

Publication number
JPH0527986A
JPH0527986A JP3184355A JP18435591A JPH0527986A JP H0527986 A JPH0527986 A JP H0527986A JP 3184355 A JP3184355 A JP 3184355A JP 18435591 A JP18435591 A JP 18435591A JP H0527986 A JPH0527986 A JP H0527986A
Authority
JP
Japan
Prior art keywords
instruction
loop
comparison
invariant variable
loop invariant
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
JP3184355A
Other languages
Japanese (ja)
Inventor
Minoo Abe
美乃夫 安部
Hiroaki Hirata
博章 平田
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 JP3184355A priority Critical patent/JPH0527986A/en
Publication of JPH0527986A publication Critical patent/JPH0527986A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】無用な比較命令を削除して、実行効率の良い目
的プログラムを生成できるコンパイラの最適化方法およ
び最適化装置を提供する。 【構成】ループ不変変数判定部1は、ループ中にループ
不変変数と定数あるいは他のループ不変変数とを比較す
る比較命令およびこの比較命令に関連した条件分岐命令
が存在することを検出する。レジスタ設定命令生成部2
は、ループ不変変数判定部1で検出されたループ不変変
数に応じて分岐先アドレスをレジスタに格納する命令列
をループの直前に生成する。比較・分岐命令置換部3
は、ループ不変変数判定部1で検出された比較命令と条
件分岐命令とをレジスタ設定命令生成部2で生成された
命令列で設定されたレジスタ中のアドレスに対する無条
件分岐命令に置換する。
(57) [Summary] [Object] To provide an optimizing method and an optimizing device of a compiler that can delete an unnecessary comparison instruction and generate a target program with high execution efficiency. [Construction] A loop-invariant variable determination unit 1 detects the presence of a comparison instruction for comparing a loop-invariant variable with a constant or another loop-invariant variable and a conditional branch instruction associated with this comparison instruction in a loop. Register setting instruction generator 2
Generates an instruction sequence for storing the branch destination address in a register in accordance with the loop invariant variable detected by the loop invariant variable determination unit 1 immediately before the loop. Comparison / branch instruction replacement unit 3
Replaces the comparison instruction and the conditional branch instruction detected by the loop invariant variable determination unit 1 with an unconditional branch instruction for the address in the register set by the instruction sequence generated by the register setting instruction generation unit 2.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は目的プログラムの実行効
率を向上させるコンパイラの最適化方法および最適化装
置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a compiler optimizing method and an optimizing device for improving the execution efficiency of a target program.

【0002】[0002]

【従来の技術】近年、RISC型マイクロプロセッサの
発達に伴い、その性能を引き出すために、高度な最適化
機能を備えたコンパイラが開発されている。このような
最適化コンパイラでは、ループ中の命令数を減少させる
ことが、目的プログラムの実行効率の向上に大きく寄与
する。
2. Description of the Related Art In recent years, with the development of a RISC type microprocessor, a compiler having a high degree of optimization function has been developed in order to bring out its performance. In such an optimizing compiler, reducing the number of instructions in the loop greatly contributes to the improvement of the execution efficiency of the target program.

【0003】従来のコンパイラは、例えば図4のような
目的プログラムを生成する。この目的プログラムは、プ
ロセッサにより命令が順に1命令ずつ実行される。比較
命令31では、変数VAR1の内容が定数0と比較され
る。次に条件分岐命令32では、比較命令31の結果に
応じて、ラベル33へ分岐するか、分岐せずに条件分岐
命令32の次の命令を実行するかを決定し、どちらかの
アドレスへ制御を移す。以下それ以降の命令が順に実行
され、ループ終了条件が満たされるまで繰り返しループ
34の各命令が実行される。
A conventional compiler generates a target program as shown in FIG. 4, for example. In this target program, instructions are sequentially executed one by one by the processor. In the comparison instruction 31, the content of the variable VAR1 is compared with the constant 0. Next, the conditional branch instruction 32 determines whether to branch to the label 33 or to execute the next instruction of the conditional branch instruction 32 without branching according to the result of the comparison instruction 31, and control to either address. Transfer. After that, the subsequent instructions are sequentially executed, and each instruction of the loop 34 is repeatedly executed until the loop end condition is satisfied.

【0004】[0004]

【発明が解決しようとする課題】しかしながら上記のよ
うな目的プログラムでは、変数VAR1がループ34中
で不変である場合、条件分岐命令32による分岐先も不
変であるにもかかわらず、ループ34の毎回の実行ごと
に無用な比較命令31が実行されるという問題点を有し
ていた。
However, in the above object program, when the variable VAR1 is invariant in the loop 34, the branch destination by the conditional branch instruction 32 is also invariant, but the loop 34 is executed every time. However, there is a problem in that an unnecessary comparison instruction 31 is executed every time the execution of the.

【0005】本発明はかかる事情に鑑みて成されたもの
であり、無用な比較命令を削除して、実行効率の良い目
的プログラムを生成できるコンパイラの最適化方法およ
び最適化装置を提供することを目的とする。
The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide an optimization method and an optimization device for a compiler that can delete unnecessary comparison instructions and generate a target program with high execution efficiency. To aim.

【0006】[0006]

【課題を解決するための手段】請求項1の発明は、高級
プログラミング言語で記述された原始プログラムを入力
として目的プログラムを生成するコンパイラに採用され
る最適化方法であって、ループ中にループ不変変数と定
数あるいは他のループ不変変数とを比較する比較命令お
よびこの比較命令に関連した条件分岐命令が存在するこ
とを検出するループ不変変数検出ステップと、このルー
プ不変変数検出ステップで検出した前記ループ不変変数
に応じて分岐先アドレスをレジスタに格納する命令列を
前記ループの直前に生成するレジスタ設定命令生成ステ
ップと、前記ループ不変変数検出ステップで検出した前
記比較命令と前記条件分岐命令とを前記レジスタ設定命
令生成ステップで生成した前記命令列で設定された前記
レジスタ中のアドレスに対する無条件分岐命令に置換す
る比較・分岐命令置換ステップとを実行することを特徴
としている。
The invention according to claim 1 is an optimization method adopted in a compiler for generating a target program by using a source program written in a high-level programming language as an input, which is loop-invariant in a loop. A loop invariant variable detecting step for detecting the presence of a comparison instruction for comparing a variable with a constant or another loop invariant variable and a conditional branch instruction related to this comparison instruction, and the loop detected in this loop invariant variable detecting step The register setting instruction generation step of generating an instruction sequence for storing a branch destination address in a register according to an invariant variable immediately before the loop, the comparison instruction detected in the loop invariant variable detection step, and the conditional branch instruction The address in the register set by the instruction sequence generated in the register setting instruction generation step It is characterized by performing the comparison-branch instructions replacing step of replacing the unconditional branch instruction to scan.

【0007】請求項2の発明は、高級プログラミング言
語で記述された原始プログラムを入力として目的プログ
ラムを生成するコンパイラに採用される最適化装置であ
って、ループ中にループ不変変数と定数あるいは他のル
ープ不変変数とを比較する比較命令およびこの比較命令
に関連した条件分岐命令が存在することを検出するルー
プ不変変数検出部と、このループ不変変数検出部で検出
された前記ループ不変変数に応じて分岐先アドレスをレ
ジスタに格納する命令列を前記ループの直前に生成する
レジスタ設定命令生成部と、前記ループ不変変数検出部
で検出された前記比較命令と前記条件分岐命令とを前記
レジスタ設定命令生成部で生成された前記命令列で設定
された前記レジスタ中のアドレスに対する無条件分岐命
令に置換する比較・分岐命令置換部とを備えたことを特
徴としている。
A second aspect of the present invention is an optimizing device that is used in a compiler that generates an object program by using a source program written in a high-level programming language as an input. A loop invariant variable detection unit that detects the presence of a comparison instruction that compares with a loop invariant variable and a conditional branch instruction related to this comparison instruction, and a loop invariant variable that is detected by this loop invariant variable detection unit A register setting instruction generation unit that generates an instruction sequence for storing a branch destination address in a register immediately before the loop, a register setting instruction generation unit that generates the comparison instruction and the conditional branch instruction detected by the loop invariant variable detection unit. Comparing with an unconditional branch instruction for the address in the register set by the instruction sequence generated in the section It is characterized in that a branch instruction substitution unit.

【0008】[0008]

【作用】請求項1の発明においては、ループ中にループ
不変変数と定数あるいは他のループ不変変数とを比較す
る比較命令およびこの比較命令に関連した条件分岐命令
が存在することを検出するループ不変変数検出ステップ
と、このループ不変変数検出ステップで検出したループ
不変変数に応じて分岐先アドレスをレジスタに格納する
命令列をループの直前に生成するレジスタ設定命令生成
ステップと、ループ不変変数検出ステップで検出した比
較命令と条件分岐命令とをレジスタ設定命令生成ステッ
プで生成した命令列で設定されたレジスタ中のアドレス
に対する無条件分岐命令に置換する比較・分岐命令置換
ステップとを実行する。
According to the first aspect of the present invention, the loop invariant detecting the presence of a comparison instruction for comparing a loop invariant variable with a constant or another loop invariant variable and a conditional branch instruction related to the comparison instruction in the loop. In the variable detection step, the register setting instruction generation step that generates the instruction string that stores the branch destination address in the register according to the loop invariant variable detection step immediately before the loop, and the loop invariant variable detection step A comparison / branch instruction replacement step of replacing the detected comparison instruction and conditional branch instruction with an unconditional branch instruction for the address in the register set by the instruction set generated in the register setting instruction generation step is executed.

【0009】請求項2の発明において、ループ不変変数
検出部は、ループ中にループ不変変数と定数あるいは他
のループ不変変数とを比較する比較命令およびこの比較
命令に関連した条件分岐命令が存在することを検出す
る。レジスタ設定命令生成部は、ループ不変変数検出部
で検出されたループ不変変数に応じて分岐先アドレスを
レジスタに格納する命令列をループの直前に生成する。
比較・分岐命令置換部は、ループ不変変数検出部で検出
された比較命令と条件分岐命令とをレジスタ設定命令生
成部で生成された命令列で設定されたレジスタ中のアド
レスに対する無条件分岐命令に置換する。
In the second aspect of the present invention, the loop invariant variable detection unit has a comparison instruction for comparing the loop invariant variable with a constant or another loop invariant variable and a conditional branch instruction related to the comparison instruction in the loop. Detect that. The register setting instruction generation unit generates an instruction sequence for storing the branch destination address in the register according to the loop invariant variable detected by the loop invariant variable detection unit immediately before the loop.
The comparison / branch instruction replacement unit converts the comparison instruction and the conditional branch instruction detected by the loop invariant variable detection unit into an unconditional branch instruction for the address in the register set by the instruction sequence generated by the register setting instruction generation unit. Replace.

【0010】[0010]

【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明の一実施例におけるコンパイラ
の最適化装置のブロック図で、この最適化装置は、ルー
プ不変変数判定部1と、レジスタ設定命令生成部2と、
比較・分岐命令置換部3とにより構成されている。ルー
プ不変変数判定部1は、ループ中にループ不変変数と定
数あるいは他のループ不変変数とを比較する比較命令お
よびこの比較命令に関連した条件分岐命令が存在するこ
とを検出する。なおこの明細書において、ループ不変変
数とは、ループ中で不変の変数をいう。レジスタ設定命
令生成部2は、ループ不変変数判定部1で検出されたル
ープ不変変数に応じて分岐先アドレスをレジスタに格納
する命令列をループの直前に生成する。比較・分岐命令
置換部3は、ループ不変変数判定部1で検出された比較
命令と条件分岐命令とをレジスタ設定命令生成部2で生
成された命令列で設定されたレジスタ中のアドレスに対
する無条件分岐命令に置換する。
Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 1 is a block diagram of an optimizing device for a compiler according to an embodiment of the present invention. This optimizing device includes a loop invariant variable determining section 1, a register setting instruction generating section 2,
It is composed of a comparison / branch instruction replacement unit 3. The loop invariable variable determination unit 1 detects that there is a comparison instruction for comparing the loop invariant variable with a constant or another loop invariant variable and a conditional branch instruction related to this comparison instruction in the loop. In this specification, a loop invariant variable means a variable that is invariant in the loop. The register setting instruction generation unit 2 generates an instruction sequence for storing the branch destination address in the register according to the loop invariant variable detected by the loop invariant variable determination unit 1 immediately before the loop. The comparison / branch instruction replacement unit 3 unconditionally compares the comparison instruction detected by the loop invariant variable determination unit 1 and the conditional branch instruction with the address in the register set by the instruction sequence generated by the register setting instruction generation unit 2. Replace with a branch instruction.

【0011】図2は図4の目的プログラムに対して図1
の最適化装置を採用したコンパイラにより最適化を施し
た目的プログラムの説明図である。次に図1の最適化装
置の動作を説明する。まずループ不変変数判定部1は、
最適化前のループ34中のループ不変変数と定数とを比
較する比較命令31および条件分岐命令32とを検出す
る。ループ不変変数判定部1により検出されたループ不
変変数の内容は、ループ34に入る前の段階で既に決ま
っているので、条件分岐命令32による分岐先は、ルー
プ34に入る前の段階で決定することができる。次にレ
ジスタ設定命令生成部2は、レジスタ設定命令列11を
生成してループ12の直前に挿入する。ここで生成され
るレジスタ設定命令列11は、比較命令31の結果に応
じて条件分岐命令32の次に実行される命令のアドレス
(ラベル13のアドレスまたはラベル14のアドレス)
を特定のレジスタ(図示せず)に設定する命令列であ
る。このレジスタ設定命令列11のフローチャートを図
3に示す。なおラベル13は、条件分岐命令32におい
て分岐しなかった場合に次に実行されるアドレスに付け
られたラベルであり、ラベル14は、条件分岐命令32
において分岐した場合の分岐先アドレス(ラベル33と
同じアドレス)に付けられたラベルである。次に比較・
分岐命令置換部3は、比較命令31と条件分岐命令32
とを無条件分岐命令15に置き換える。かくして、図4
の目的プログラムと等価で実行効率の良い図2の目的プ
ログラムが生成される。
FIG. 2 is a block diagram of the target program of FIG.
FIG. 6 is an explanatory diagram of a target program optimized by a compiler that employs the optimization device of FIG. Next, the operation of the optimizing device in FIG. 1 will be described. First, the loop invariant variable determination unit 1
The comparison instruction 31 and the conditional branch instruction 32 that compare the loop invariant variable and the constant in the loop 34 before optimization are detected. Since the content of the loop invariant variable detected by the loop invariant variable determination unit 1 has already been determined before entering the loop 34, the branch destination of the conditional branch instruction 32 is determined before entering the loop 34. be able to. Next, the register setting instruction generator 2 generates a register setting instruction sequence 11 and inserts it just before the loop 12. The register setting instruction sequence 11 generated here is the address of the instruction executed next to the conditional branch instruction 32 according to the result of the comparison instruction 31 (the address of label 13 or the address of label 14).
Is an instruction sequence for setting a particular register (not shown). A flowchart of this register setting instruction sequence 11 is shown in FIG. The label 13 is a label attached to an address to be executed next when the branch is not performed in the conditional branch instruction 32, and the label 14 is the conditional branch instruction 32.
It is a label attached to the branch destination address (the same address as the label 33) in the case of branching at. Then compare
The branch instruction replacement unit 3 includes a comparison instruction 31 and a conditional branch instruction 32.
And are replaced by the unconditional branch instruction 15. Thus, FIG.
The target program of FIG. 2 equivalent to the target program of FIG.

【0012】このように、ループ中のループ不変変数と
定数あるいは他のループ不変変数とを比較する比較命令
およびこの比較命令に関連した条件分岐命令を検出し、
これを単一の無条件分岐命令に置き換えるので、ループ
中の命令数を削減することができ、ループ実行時には無
用な比較命令を実行する必要がなくなることから、実行
効率の良い目的プログラムを生成することができる。
In this way, a comparison instruction for comparing a loop invariant variable in a loop with a constant or another loop invariant variable and a conditional branch instruction associated with this comparison instruction are detected,
Since this is replaced with a single unconditional branch instruction, the number of instructions in the loop can be reduced, and unnecessary comparison instructions need not be executed at the time of loop execution, so a target program with high execution efficiency is generated. be able to.

【0013】なお上記実施例では、ループ34中にルー
プ不変変数と定数とを比較する比較命令31が存在する
場合について説明したが、ループ不変変数と他のループ
不変変数とを比較する比較命令が存在する場合も同様に
取り扱うことができる。また上記実施例では、従来のコ
ンパイラで生成された目的プログラムに対して本発明の
最適化方法を適用したが、中間言語段階で本発明の最適
化方法を適用して直接最適化された目的プログラムを生
成してもよい。
In the above embodiment, the case where the comparison instruction 31 for comparing the loop invariant variable and the constant exists in the loop 34 has been described. However, the comparison instruction for comparing the loop invariant variable with another loop invariant variable has been described. If it exists, it can be treated similarly. Further, in the above embodiment, the optimization method of the present invention is applied to the target program generated by the conventional compiler, but the target program directly optimized by applying the optimization method of the present invention in the intermediate language stage. May be generated.

【0014】[0014]

【発明の効果】以上説明したように本発明によれば、ル
ープ中のループ不変変数に対する比較・条件分岐命令を
検出して、単一の無条件分岐命令に置き換えるので、ル
ープ中の命令数を削減でき、実行効率を良好に向上させ
ることができるという優れた効果を奏する。
As described above, according to the present invention, a comparison / conditional branch instruction for a loop invariant variable in a loop is detected and replaced with a single unconditional branch instruction. It has an excellent effect that it can be reduced and the execution efficiency can be favorably improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例における最適化装置のブロッ
ク図である。
FIG. 1 is a block diagram of an optimization device according to an embodiment of the present invention.

【図2】本発明の一実施例における最適化装置を採用し
たコンパイラにより生成された目的プログラムの説明図
である。
FIG. 2 is an explanatory diagram of a target program generated by a compiler that employs an optimization device according to an embodiment of the present invention.

【図3】本発明の一実施例における最適化装置を採用し
たコンパイラにより生成された目的プログラムにおける
レジスタ設定命令列のフローチャートである。
FIG. 3 is a flowchart of a register setting instruction sequence in a target program generated by a compiler that employs an optimizing device according to an exemplary embodiment of the present invention.

【図4】従来のコンパイラにより生成された目的プログ
ラムの説明図である。
FIG. 4 is an explanatory diagram of a target program generated by a conventional compiler.

【符号の説明】[Explanation of symbols]

1 ループ不変変数判定部 2 レジスタ設定命令生成部 3 比較・分岐命令置換部 1 Loop invariant variable judgment part 2 Register setting instruction generator 3 Comparison / branch instruction replacement unit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 高級プログラミング言語で記述された原
始プログラムを入力として目的プログラムを生成するコ
ンパイラに採用される最適化方法であって、ループ中に
ループ不変変数と定数あるいは他のループ不変変数とを
比較する比較命令およびこの比較命令に関連した条件分
岐命令が存在することを検出するループ不変変数検出ス
テップと、このループ不変変数検出ステップで検出した
前記ループ不変変数に応じて分岐先アドレスをレジスタ
に格納する命令列を前記ループの直前に生成するレジス
タ設定命令生成ステップと、前記ループ不変変数検出ス
テップで検出した前記比較命令と前記条件分岐命令とを
前記レジスタ設定命令生成ステップで生成した前記命令
列で設定された前記レジスタ中のアドレスに対する無条
件分岐命令に置換する比較・分岐命令置換ステップとを
実行することを特徴とするコンパイラの最適化方法。
1. An optimization method used in a compiler that generates an object program using a source program written in a high-level programming language as an input, wherein a loop invariant variable and a constant or another loop invariant variable are included in a loop. A loop invariant variable detection step that detects the presence of a comparison instruction to be compared and a conditional branch instruction related to this comparison instruction, and a branch destination address in a register according to the loop invariant variable detected in this loop invariant variable detection step A register setting instruction generating step for generating an instruction string to be stored immediately before the loop, the comparison instruction and the conditional branch instruction detected in the loop invariant variable detecting step, and the instruction string generated in the register setting instruction generating step. Replace with the unconditional branch instruction for the address in the register set by And a comparison / branch instruction replacement step.
【請求項2】 高級プログラミング言語で記述された原
始プログラムを入力として目的プログラムを生成するコ
ンパイラに採用される最適化装置であって、ループ中に
ループ不変変数と定数あるいは他のループ不変変数とを
比較する比較命令およびこの比較命令に関連した条件分
岐命令が存在することを検出するループ不変変数検出部
と、このループ不変変数検出部で検出された前記ループ
不変変数に応じて分岐先アドレスをレジスタに格納する
命令列を前記ループの直前に生成するレジスタ設定命令
生成部と、前記ループ不変変数検出部で検出された前記
比較命令と前記条件分岐命令とを前記レジスタ設定命令
生成部で生成された前記命令列で設定された前記レジス
タ中のアドレスに対する無条件分岐命令に置換する比較
・分岐命令置換部とを備えたことを特徴とするコンパイ
ラの最適化装置。
2. An optimizing device used in a compiler for generating a target program by inputting a source program written in a high-level programming language, wherein a loop invariant variable and a constant or another loop invariant variable are included in a loop. A loop invariant variable detection unit that detects the presence of a comparison instruction to be compared and a conditional branch instruction related to this comparison instruction, and a branch destination address is registered according to the loop invariant variable detected by this loop invariant variable detection unit. A register setting instruction generating unit that generates an instruction sequence to be stored in the loop immediately before the loop, the comparison instruction and the conditional branch instruction detected by the loop invariant variable detecting unit are generated by the register setting instruction generating unit. A comparison / branch instruction replacement unit that replaces an unconditional branch instruction for an address in the register set by the instruction sequence, A compiler optimizing device characterized by comprising:
JP3184355A 1991-07-24 1991-07-24 Compiler optimization method and optimization apparatus Pending JPH0527986A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3184355A JPH0527986A (en) 1991-07-24 1991-07-24 Compiler optimization method and optimization apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3184355A JPH0527986A (en) 1991-07-24 1991-07-24 Compiler optimization method and optimization apparatus

Publications (1)

Publication Number Publication Date
JPH0527986A true JPH0527986A (en) 1993-02-05

Family

ID=16151801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3184355A Pending JPH0527986A (en) 1991-07-24 1991-07-24 Compiler optimization method and optimization apparatus

Country Status (1)

Country Link
JP (1) JPH0527986A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010085177A (en) * 2008-09-30 2010-04-15 Yokogawa Electric Corp Semiconductor testing device
US9588747B2 (en) 2013-09-27 2017-03-07 Samsung Electronics Co., Ltd. Method and apparatus for converting programs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010085177A (en) * 2008-09-30 2010-04-15 Yokogawa Electric Corp Semiconductor testing device
US9588747B2 (en) 2013-09-27 2017-03-07 Samsung Electronics Co., Ltd. Method and apparatus for converting programs

Similar Documents

Publication Publication Date Title
US11216258B2 (en) Direct function call substitution using preprocessor
US6233733B1 (en) Method for generating a Java bytecode data flow graph
JPH06314203A (en) Method and device for optimizing compiler
JP2000222220A (en) Dynamically compiling time setting method, byte code executing mode selecting method and computer
JPH0883185A (en) compiler
US7917899B2 (en) Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus
US6120552A (en) Method to exhibit parallelism for computer implementation of computational processing
JPH0527986A (en) Compiler optimization method and optimization apparatus
US20050144605A1 (en) Information processing system and code generation method
US8117604B2 (en) Architecture cloning for power PC processors
US7080204B2 (en) Cache controller computer system and method for program recompilation
JPH0756745A (en) Compiler processing system for language processing program
US11301252B2 (en) Executing mutually exclusive vector instructions according to a vector predicate instruction
KR20080045545A (en) How to Preprocess Conditional Regions
US20020049965A1 (en) Compiler
JP3608446B2 (en) Compiler device and processor
JP2956591B2 (en) Method and apparatus for parallelizing a loop having a conditional jump out of the loop
JPH09265400A (en) Compile optimization method
JP2564904B2 (en) Program optimization processing method
JP2001265605A (en) Compiler instruction sequence optimization method, compiler device, recording medium, and program
JPH11195011A (en) Language translation processor, language translation processing method and record medium recording language translation processing program
JPH11296368A (en) Processor, compiler and instruction sequence converter
JPH05189243A (en) Conditional operation compilation processor
JPH11272650A (en) Dynamic vectorization device and recording medium
JPH05224926A (en) Condition branch instruction control system