JPS62204374A - Processing system for double arithmetic optimization - Google Patents

Processing system for double arithmetic optimization

Info

Publication number
JPS62204374A
JPS62204374A JP61046912A JP4691286A JPS62204374A JP S62204374 A JPS62204374 A JP S62204374A JP 61046912 A JP61046912 A JP 61046912A JP 4691286 A JP4691286 A JP 4691286A JP S62204374 A JPS62204374 A JP S62204374A
Authority
JP
Japan
Prior art keywords
pipeline
addition
multiplication
intermediate code
frequency
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.)
Granted
Application number
JP61046912A
Other languages
Japanese (ja)
Other versions
JPH0379741B2 (en
Inventor
Morie Sagawa
佐川 守江
Koichiro Hotta
耕一郎 堀田
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 JP61046912A priority Critical patent/JPS62204374A/en
Publication of JPS62204374A publication Critical patent/JPS62204374A/en
Publication of JPH0379741B2 publication Critical patent/JPH0379741B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To improve the practical performance in terms of the compiling result by deciding the use of an addition pipeline or a multiplication pipeline in response to the using frequencies of both pipelines. CONSTITUTION:A using frequency checking part 25 checks the using frequencies of both addition and multiplication pipelines with a vector computer through recognition of the double arithmetic. Thus a using frequency counting part 26 counts previously the using frequencies of both pipelines in a so-called VL control range. A using pipeline deciding part 27 decides the use of the addition or multiplication pipeline with the double arithmetic, etc., in accordance with the checking result of the part 25. If the using frequency of the addition pipeline is low, an addition instruction generating part 28 in started. While a multiplication instruction generating part 29 is started if the using frequency of the multiplication pipeline is low respectively. Thus the using frequency is improved between both pipelines and the practical performance is improved with objects.

Description

【発明の詳細な説明】 〔概要〕 自動ベクトル化コンパイル処理における中間コード中に
現れるベクトルデータの2倍演算または同じベクトルデ
ータの加算演算について、加算パイプラインおよび乗算
パイプラインの使用頻度に応じて、どちらのパイプライ
ンを使用するかを決定し、コンパイル結果に関する実行
性能の向上を図る。
[Detailed Description of the Invention] [Summary] Regarding the doubling operation of vector data appearing in intermediate code in automatic vectorization compilation processing or addition operation of the same vector data, depending on the usage frequency of addition pipeline and multiplication pipeline, Decide which pipeline to use and aim to improve execution performance regarding compilation results.

〔産業上の利用分野〕[Industrial application field]

本発明は、ベクトル計算機を持つデータ処理装置によっ
て実行されるプログラムをコンパイルする処理方式に係
り、特にベクトルデータの2倍演算について、効率的な
オブジェクトを生成する2倍演算最適化処理方式に関す
るものである。
The present invention relates to a processing method for compiling a program to be executed by a data processing device having a vector computer, and in particular to a processing method for optimizing double operations to generate efficient objects for double operations on vector data. be.

〔従来の技術〕[Conventional technology]

例えば、自動ベクトル化を行うFORTRANコンパイ
ラは、FORTRANプログラムのソースプログラムを
、一旦、中間コードに展開し、その中間コードにおける
ループについて、ベクトル化を行って、ベクトル計算機
における加算パイプライン、乗算パイプライン等を使用
する命令を生成することにより、大量のデータを並列処
理し。
For example, a FORTRAN compiler that performs automatic vectorization first expands the source program of a FORTRAN program into intermediate code, vectorizes the loops in the intermediate code, and creates addition pipelines, multiplication pipelines, etc. in a vector computer. Process large amounts of data in parallel by generating instructions that use .

高速に処理するオブジェクトを出力する。Output objects that process quickly.

ところで、一般に科学技術計算を行うプログラム等では
、rA=B*2.OJという形の2倍演算がよく現れる
。このようなステートメントを機械語命令に翻訳するに
あたって、従来のスカラ計算機等では+ /Jl+ −
、′7i′1路による命令処理時間が乗算回路による命
令処理時間よりも短いことに着目し。
By the way, in programs that generally perform scientific and technical calculations, rA=B*2. Doubling operations of the form OJ often appear. In translating such statements into machine language instructions, conventional scalar computers, etc. + /Jl+ -
, '7i' 1 path is shorter than the instruction processing time by the multiplication circuit.

rA=B*2.OJという乗算の形をrA=B+B」の
加算の形で処理する命令を生成し、これにより最適化す
ることが行われていた。
rA=B*2. An instruction was generated to process the multiplication form OJ in the form of addition rA=B+B, and optimization was performed using this instruction.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

従来方式によれば、ベクトル計算機において。 According to the conventional method, in a vector calculator.

加算パイプラインの使用頻度が高く1乗算パイプライン
の使用頻度が低い場合であっても、「A=B*2.OJ
という形の2倍演算は、全て加算パイプラインを使用す
る命令を、コンパイラによって生成しているため、必ず
しも効率的なオブジェクトが生成されるとは限らなかっ
た。
Even if the addition pipeline is used frequently and the 1-multiply pipeline is used less frequently, "A=B*2.OJ
Because the compiler generates all instructions using the addition pipeline for the doubling operation of the form, an efficient object is not necessarily generated.

本発明は上記問題点の解決を図り、加算パイプラインお
よび乗算パイプラインを使用頻度に応じて効率よく使用
することにより、オブジェクトに関する実行性能を向上
させることを目的としている。
The present invention aims to solve the above-mentioned problems, and aims to improve execution performance regarding objects by efficiently using addition pipelines and multiplication pipelines according to the frequency of use.

〔問題点を解決するための手段〕[Means for solving problems]

第1図は本発明の基本構成例を示す。 FIG. 1 shows an example of the basic configuration of the present invention.

第1図において、11ないし13は磁気ディスク装置等
の外部記憶装置、14はFORTRAN言語TR上り記
述されたソースプログラム、15はソースプログラム1
4を内部コードに変換した中間コード、16は機械語命
令/データからなる目的プログラム、17はCPUおよ
びメモリからなる処理装置、18はソースプログラム1
4を翻訳するコンパイラを表す。
In FIG. 1, 11 to 13 are external storage devices such as magnetic disk devices, 14 is a source program written in the FORTRAN language TR, and 15 is a source program 1.
4 is an intermediate code converted into an internal code, 16 is an objective program consisting of machine language instructions/data, 17 is a processing device consisting of a CPU and memory, and 18 is a source program 1.
Represents a compiler that translates 4.

コンパイラ18中のソース解釈部19は、外部記憶装置
11からソースプログラム14を入力し。
A source interpreter 19 in the compiler 18 receives the source program 14 from the external storage device 11.

文解釈を行って、中間コード(テキスト)15に展開す
る処理を実行するものである。記憶域割付は部20は、
プログラム中に出現する各種データに記憶域内番地を割
り当てる処理を実行する。
It executes a process of interpreting a sentence and developing it into an intermediate code (text) 15. The storage allocation section 20 is
Executes the process of assigning addresses within the storage area to various data that appear in the program.

ベクトル化部21は、プログラム中のループ構造を検出
し、並列実行可能部分を認識して、その部分の中間コー
ドをベクトル化中間コードに変更する。2倍演算検出部
22は、ベクトルデータの2倍演算または同じベクトル
データの加算演算を検出し、特殊演算符号を付与する処
理を実行するものである。
The vectorization unit 21 detects a loop structure in a program, recognizes a parallel executable portion, and changes the intermediate code of that portion into a vectorized intermediate code. The doubling operation detecting unit 22 detects a doubling operation of vector data or an addition operation of the same vector data, and performs a process of assigning a special operation code.

中間コード最適化部23は、中間コード15のレベルで
、ベクトル計算機のハードウェアを有効に利用するため
の最適化処理を行うものである。
The intermediate code optimization unit 23 performs optimization processing at the level of the intermediate code 15 to effectively utilize the hardware of the vector computer.

中間コード最適化部23において、2倍演算認識部24
は、2倍演算検出部22が設定した特殊演算符号により
、中間コード15中の2倍演算(同じデータの加算演算
を含む、以下同様。)を認識する。使用頻度検査部25
は、2倍演算の認識により、ベクトル計算機における加
算パイプラインと乗算パイプラインとの使用頻度をチェ
ックするものである。そのため、使用頻度計数部26は
In the intermediate code optimization unit 23, the double operation recognition unit 24
recognizes a doubling operation (including an addition operation of the same data, and the same applies hereinafter) in the intermediate code 15 using the special operation code set by the doubling operation detection unit 22. Usage frequency inspection section 25
The method checks the frequency of use of addition pipelines and multiplication pipelines in a vector computer by recognizing doubling operations. Therefore, the usage frequency counting section 26.

予めいわゆるVL制御範囲において、加算パイプライン
と乗算パイプラインとのそれぞれの使用頻度を計数する
The frequency of use of the addition pipeline and the multiplication pipeline is counted in advance in a so-called VL control range.

使用パイプライン決定部27は、使用頻度検査部25に
よる検査結果に従って、2倍演算等について、加算パイ
プラインまたは乗算パイプラインのいずれを使用するか
を決定するものである。加算パイプラインの使用頻度が
低い場合に、加算命令生成部28が起動され1乗算命令
生成部29の使用頻度が低い場合に1乗算命令生成部2
9が起動される。
The usage pipeline determination unit 27 determines whether to use an addition pipeline or a multiplication pipeline for doubling operations, etc., according to the inspection result by the usage frequency inspection unit 25. When the usage frequency of the addition pipeline is low, the addition instruction generation section 28 is activated, and when the usage frequency of the 1 multiplication instruction generation section 29 is low, the 1 multiplication instruction generation section 2 is activated.
9 is activated.

加算命令生成部28は、2倍演算について加算パイプラ
インを使用する命令を生成し1乗算命令生成部29は乗
算パイプラインを使用する命令を生成する。
The addition instruction generation section 28 generates an instruction that uses an addition pipeline for a double operation, and the 1 multiplication instruction generation section 29 generates an instruction that uses a multiplication pipeline.

レジスタ使用決定部30は、中間コード15に現れたデ
ータに、実際の資源(レジスタ)を割り当てる処理を行
うものである。目的プログラム出力部31は、中間コー
ド15を機械語に変換し。
The register use determining unit 30 performs a process of allocating actual resources (registers) to data appearing in the intermediate code 15. The target program output unit 31 converts the intermediate code 15 into machine language.

機械語レベルでの最適化を行って、外部記憶装置13に
目的プログラム16を出力する。
Optimization is performed at the machine language level, and the target program 16 is output to the external storage device 13.

〔作用〕[Effect]

ベクトルパイプライン方式による計算機においては、加
算パイプライン/乗算パイプラインの並列実行が可能で
ある。本発明によれば、このようなベクトル計算機にお
ける加算パイプラインに空きがある場合には、2倍演算
について加算パイプラインを使用して処理する命令が生
成され1乗算パイプラインに空きがある場合には、2倍
演算について乗算パイプラインを使用して処理する命令
が生成される。従って、加算パイプライン/乗算パイプ
ラインが効率的に使用され、オブジェクトに関する実行
性能が向上することになる。
In a computer using a vector pipeline system, addition pipeline/multiplication pipeline can be executed in parallel. According to the present invention, when there is space in the addition pipeline in such a vector computer, an instruction to process the 2x operation using the addition pipeline is generated, and when there is space in the 1-multiplication pipeline, generates an instruction to process the double operation using the multiplication pipeline. Therefore, the addition pipeline/multiplication pipeline is used efficiently and the execution performance for the object is improved.

〔実施例〕〔Example〕

第2図は本発明の=実施例処理説明図、第3図は本発明
により生成されたオブジェクトに関する実行結果の説明
図である。
FIG. 2 is an explanatory diagram of an embodiment of the present invention, and FIG. 3 is an explanatory diagram of execution results regarding objects generated according to the present invention.

第1図に示すベクトル化部21は1例えば。The vectorization unit 21 shown in FIG. 1 is one example.

r    Do  10 1−1.100c (1) 
==D (1) +E (1)A (I) −B (1
) 12.0 10  C0NTTNUE        Jというル
ープを次のようにベクトル化する。
r Do 10 1-1.100c (1)
==D (1) +E (1)A (I) -B (1
) 12.0 10 C0NTTNUE Vectorize the loop J as follows.

r  VLENG−100 C(*) −D (*) +E (*)A (*) =
B (*) *2.OJここで、VLENGはベクトル
長レジスタであり、配列添字式内の「*」は、1から1
00番目までの全部の配列に関するベクトルデータを処
理対象とすることを示している。このようなループに対
応するベクトル化の制御範囲をVLti11御範囲とい
う。
r VLENG-100 C(*) -D (*) +E (*)A (*) =
B (*) *2. OJ Here, VLENG is the vector length register, and "*" in the array subscript expression is 1 to 1.
This indicates that vector data related to all arrays up to number 00 are to be processed. The vectorization control range corresponding to such a loop is called the VLti11 control range.

第2図に示す処理P1および処理P2のように。Like processing P1 and processing P2 shown in FIG.

2倍演算検出部22は、VLIIJ?Il範囲において
The double operation detection unit 22 detects the VLIIJ? In the Il range.

rA (*) −B (*) *2.OJO形の2倍演
算またはrA (*) −B (*) +B (*) 
Jの形の加算演算を検出すると、  rA (*) −
B C*)  #2」という形の中間コードに変換する
。ここで、「#」は加算または乗算のどちらでも実行可
能であることを示す演算子であって、他の演算子と区別
できるように定められた特殊演算符号である。
rA (*) -B (*) *2. OJO type double operation or rA (*) -B (*) +B (*)
When an addition operation of the form J is detected, rA (*) −
Convert to an intermediate code of the form "B C *) #2". Here, "#" is an operator indicating that it can perform either addition or multiplication, and is a special operation code determined to be distinguishable from other operators.

使用頻度計数部26は、中間コード最適化処理において
、第2図図示処理P3により、VL制御範囲における加
算パイプラインの使用頻度および乗算パイプラインの使
用頻度をそれぞれ計数する。
In the intermediate code optimization process, the usage frequency counting unit 26 counts the usage frequency of the addition pipeline and the usage frequency of the multiplication pipeline in the VL control range, respectively, by the process P3 illustrated in FIG. 2.

2倍演算認識部24は、処理P4により、中間コード1
5中に上記特殊演算符号「#」を認識すると、使用頻度
検査部25を起動する。使用頻度検査部25は、第2図
図示処理P5により、加算パイプラインおよび乗算パイ
プラインの使用頻度情報を得て、処理P6によりその大
小を比較する。
The doubling operation recognition unit 24 performs intermediate code 1 by processing P4.
When the above-mentioned special operation code "#" is recognized in 5, the usage frequency checking section 25 is activated. The usage frequency inspection unit 25 obtains the usage frequency information of the addition pipeline and the multiplication pipeline through process P5 shown in FIG. 2, and compares the sizes thereof through process P6.

使用パイプライン決定部27は、加算パイプラインの使
用頻度が小さいとき、加算命令生成部28を呼び出し、
処理P8によって、rA(*)=B(*)十B(*)」
の形のベクトル加算命令を選択する。一方2乗算パイプ
ラインの使用頻度が小さいとき1乗算命令生成部29を
呼び出し、処理P9によって、  rA (*) =B
 (’4’) *2.OJの形のベクトル乗算命令を選
択する。
When the use frequency of the addition pipeline is low, the usage pipeline determination unit 27 calls the addition instruction generation unit 28,
By processing P8, rA (*) = B (*) 1 B (*)''
Select a vector addition instruction of the form. On the other hand, when the frequency of use of the 2 multiplication pipeline is low, the 1 multiplication instruction generation unit 29 is called, and by processing P9, rA (*) = B
('4') *2. Select a vector multiplication instruction of the form OJ.

例えば、2倍演算のベクトル命令の前後に、加算命令Y
と加算命令Zとがあったとする。1つのベクトル演算の
実行スピードをtとすると、第3図(a)に示すように
2乗算パイプラインに空きがあるにもかかわらず、この
2倍演算のベクトル命令を、加算パイプラインを使用し
て実行すると。
For example, before and after the double operation vector instruction, add instruction Y
Assume that there is an addition instruction Z. Assuming that the execution speed of one vector operation is t, as shown in Figure 3(a), even though there is space in the 2x pipeline, the vector instruction for this 2x operation cannot be executed using the addition pipeline. and run it.

3tの演算時間が必要になる。本発明の場合、第3図に
示す例では9乗算パイプラインの使用頻度が低いので、
上記2倍演算について1乗算パイプラインを使用する命
令が生成される。従って、第3図(b)に示すように、
加算パイプラインを使用する命令Zと、2倍演算の命令
とが並列に処理され、2tの演算時間で処理できること
となり。
A computation time of 3t is required. In the case of the present invention, the frequency of use of the 9-multiply pipeline is low in the example shown in FIG.
An instruction is generated that uses a multiply by 1 pipeline for the double operation. Therefore, as shown in Figure 3(b),
The instruction Z that uses the addition pipeline and the instruction that performs the double operation are processed in parallel, and can be processed in an operation time of 2t.

実行のスピード・アップが可能となる。It is possible to speed up execution.

〔発明の効果〕〔Effect of the invention〕

以上説明したように5本発明によれば、2倍演算につい
て、使用頻度が少ないパイプラインが選択使用されるの
で、翻訳結果である目的プログラムに関する実行性能を
向上させることができるようになる。
As explained above, according to the present invention, a pipeline that is used less frequently is selectively used for the doubling operation, so that it is possible to improve the execution performance of the target program that is the translation result.

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

第1図は本発明の基本構成例、第2図は本発明の一実施
例処理説明図、第3図は本発明により生成されたオブジ
ェクトに関する実行結果の説明図である。 図中、11〜13は外部記憶装置、14はソースプログ
ラム、15は中間コード、16は目的プログラム、17
は処理装置、18はコンパイラ。 19はソース解釈部、20は記憶域割付は部、21はベ
クトル化部、22は2倍演算検出部、23は中間コード
最適化部、24は2倍演算認識部。 25は使用頻度検査部、26は使用頻度計数部。 27は使用パイプライン決定部、28は加算命令生成部
、29は乗算命令生成部、30はレジスタ使用決定部、
31は目的プログラム出力部を表す。 特許出願人   富士通株式会社 代理人弁理士  森1)寛(外1名) 第 3 図
FIG. 1 is an example of the basic configuration of the present invention, FIG. 2 is an explanatory diagram of processing in an embodiment of the present invention, and FIG. 3 is an explanatory diagram of execution results regarding objects generated according to the present invention. In the figure, 11 to 13 are external storage devices, 14 is a source program, 15 is an intermediate code, 16 is a target program, and 17
is a processing unit, and 18 is a compiler. 19 is a source interpretation section, 20 is a storage area allocation section, 21 is a vectorization section, 22 is a double operation detection section, 23 is an intermediate code optimization section, and 24 is a double operation recognition section. 25 is a usage frequency inspection section, and 26 is a usage frequency counting section. 27 is a usage pipeline determination unit, 28 is an addition instruction generation unit, 29 is a multiplication instruction generation unit, 30 is a register usage determination unit,
31 represents a target program output section. Patent applicant Hiroshi Mori (1 other person), agent patent attorney for Fujitsu Ltd. Figure 3

Claims (1)

【特許請求の範囲】 自動ベクトル化を行うと共に、そのベクトル化された対
象について最適化を行うコンパイル処理機能を有するデ
ータ処理システムにおいて、ソースプログラム(14)
のコンパイル処理におけるベクトル化中間コードについ
て、ベクトルデータの2倍演算または同じベクトルデー
タの加算演算を検出する2倍演算検出手段(22)と、
ベクトル化中間コード列におけるベクトルデータを処理
する加算パイプラインおよび乗算パイプラインの使用頻
度をカウントする使用頻度計数手段(26)と、 中間コード列における上記2倍演算または上記加算演算
が認識されたときに、上記加算パイプラインおよび乗算
パイプラインの使用頻度を検査する使用頻度検査手段(
25)と、 該使用頻度の検査結果により、使用するパイプラインを
決定し、上記2倍演算または上記加算演算の中間コード
を、ベクトル加算命令またはベクトル乗算命令に変換す
る使用パイプライン決定手段(27)とを備えたことを
特徴とする2倍演算最適化処理方式
[Claims] In a data processing system having a compile processing function that performs automatic vectorization and optimizes the vectorized target, a source program (14) is provided.
doubling operation detection means (22) for detecting a doubling operation of vector data or an addition operation of the same vector data with respect to the vectorized intermediate code in the compilation process;
a usage frequency counting means (26) for counting the usage frequency of an addition pipeline and a multiplication pipeline that process vector data in a vectorized intermediate code string; and when the above-mentioned doubling operation or the above-mentioned addition operation in the intermediate code string is recognized. , a usage frequency checking means (
25), and pipeline-to-be-used determining means (27) that determines the pipeline to be used based on the inspection result of the usage frequency and converts the intermediate code of the doubling operation or the addition operation into a vector addition instruction or a vector multiplication instruction. ) A double operation optimization processing method characterized by having
JP61046912A 1986-03-04 1986-03-04 Processing system for double arithmetic optimization Granted JPS62204374A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61046912A JPS62204374A (en) 1986-03-04 1986-03-04 Processing system for double arithmetic optimization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61046912A JPS62204374A (en) 1986-03-04 1986-03-04 Processing system for double arithmetic optimization

Publications (2)

Publication Number Publication Date
JPS62204374A true JPS62204374A (en) 1987-09-09
JPH0379741B2 JPH0379741B2 (en) 1991-12-19

Family

ID=12760558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61046912A Granted JPS62204374A (en) 1986-03-04 1986-03-04 Processing system for double arithmetic optimization

Country Status (1)

Country Link
JP (1) JPS62204374A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284970A (en) * 1999-03-29 2000-10-13 Matsushita Electric Ind Co Ltd Program converting device and processor
JP2011186512A (en) * 2010-03-04 2011-09-22 Nec Corp Compiler device and compile method
US10922061B2 (en) 2016-06-02 2021-02-16 Nec Corporation Information processing apparatus, information processing method and storage medium storing program related to instruction selection of a compiler

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5033372B2 (en) 2006-07-26 2012-09-26 カルソニックカンセイ株式会社 Compressor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000284970A (en) * 1999-03-29 2000-10-13 Matsushita Electric Ind Co Ltd Program converting device and processor
JP2011186512A (en) * 2010-03-04 2011-09-22 Nec Corp Compiler device and compile method
US10922061B2 (en) 2016-06-02 2021-02-16 Nec Corporation Information processing apparatus, information processing method and storage medium storing program related to instruction selection of a compiler

Also Published As

Publication number Publication date
JPH0379741B2 (en) 1991-12-19

Similar Documents

Publication Publication Date Title
US7725883B1 (en) Program interpreter
US4710872A (en) Method for vectorizing and executing on an SIMD machine outer loops in the presence of recurrent inner loops
US7493610B1 (en) Versioning optimization for dynamically-typed languages
JP3317825B2 (en) Loop-optimized translation processing method
US6363522B1 (en) Method and apparatus for handling exceptions as normal control flow
JP2500079B2 (en) Program optimization method and compiler system
EP0735468A2 (en) Method and apparatus for an optimizing compiler
US6895580B2 (en) Expression reduction during compilation through routine cloning
AU663493B2 (en) Method of constructing a constant-folding mechanism in a multilanguage optimizing compiler
KR102013582B1 (en) Apparatus and method for detecting error and determining corresponding position in source code of mixed mode application program source code thereof
US6301652B1 (en) Instruction cache alignment mechanism for branch targets based on predicted execution frequencies
US5278985A (en) Software method for implementing dismissible instructions on a computer
US9910650B2 (en) Method and apparatus for approximating detection of overlaps between memory ranges
JPS62204374A (en) Processing system for double arithmetic optimization
CN114041116A (en) Method and device for optimizing data movement task
Flynn et al. Measures of ideal execution architectures
JPH0440742B2 (en)
KR20140119619A (en) Apparatus and method for generating vector code
JPH02132525A (en) Compiling method
JPH06214800A (en) Optimum processing system of object program
JPH0816875B2 (en) Computer system emulation method
JPH0728654A (en) Optimization system for pointer reference system utilizing parallel processing mechanism
JPH08328872A (en) Communication generation method for parallel program
JPS617946A (en) Optimization compiling system
JPH03257579A (en) Parallel arrangement system for compilers

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term