JPH06290206A - Vectorization systen - Google Patents

Vectorization systen

Info

Publication number
JPH06290206A
JPH06290206A JP7331293A JP7331293A JPH06290206A JP H06290206 A JPH06290206 A JP H06290206A JP 7331293 A JP7331293 A JP 7331293A JP 7331293 A JP7331293 A JP 7331293A JP H06290206 A JPH06290206 A JP H06290206A
Authority
JP
Japan
Prior art keywords
loop
variable
definition
intermediate text
source program
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.)
Withdrawn
Application number
JP7331293A
Other languages
Japanese (ja)
Inventor
Osamu Nakanoya
修 仲野谷
Rieko Ishizuka
理恵子 石塚
Tomoko Toyama
友子 遠山
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP7331293A priority Critical patent/JPH06290206A/en
Publication of JPH06290206A publication Critical patent/JPH06290206A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To shorten the execution time of a program in a vector processor by enabling the vectorization of a loop including a variable which not conventionally vectrized and quoted before definition. CONSTITUTION:A condition decision part 321 in a vectorization part 32 decides whether or not the loop including the variable quoted before the definition satisfies conditions that are executed in parallel. A loop constitution part 322 generates a work array for containing values that the variable quoted before the definition have at the time of respective rounds of the loop which is decided by the condition decision part 321 so that the parallel execution can be performed and includes the variable quoted before definition and substitutes the quotation of the values in the work array for the quotation of the variable in the loop.

Description

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

【0001】[0001]

【産業上の利用分野】この発明は、ソースプログラムを
並列実行可能な目的プログラムに変換するベクトル化変
換システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vectorization conversion system for converting a source program into an object program that can be executed in parallel.

【0002】[0002]

【従来の技術】従来技術におけるソースプログラムのル
ープをベクトル化変換する手法は、例示する図6のソー
スプログラムに対して、先ず図7に例示する構文解析の
結果を示す第1の中間テキストが生成される。次に、こ
の第1の中間テキストから並列実行可能部分の認識を行
う。そして、並列実行可能部分に対して第1の中間テキ
ストを基に、図8に例示する第2の中間テキストが生成
される。そして、第2の中間テキストから目的プログラ
ムを生成する順序を経る。並列実行可能であるか否かの
認識は、第2の中間テキストにおける変数が、それの定
義と引用される順序との依存関係に矛盾が生じないこと
である。また、図4に例示するソースプログラムにおい
ては、変数の定義と引用の順序との依存関係が矛盾する
ため、従来の手法ではベクトル化することができない。
2. Description of the Related Art In the conventional technique for vectorizing a loop of a source program, a first intermediate text showing the result of syntax analysis shown in FIG. 7 is first generated for the source program shown in FIG. To be done. Next, the parallel executable part is recognized from the first intermediate text. Then, the second intermediate text illustrated in FIG. 8 is generated based on the first intermediate text for the parallel executable part. Then, the sequence of generating the target program from the second intermediate text is performed. The recognition of whether or not they can be executed in parallel is that the variables in the second intermediate text do not conflict with the dependency between their definition and the order in which they are quoted. Further, in the source program illustrated in FIG. 4, since the dependency relation between the variable definition and the citation order is inconsistent, it cannot be vectorized by the conventional method.

【0003】だが、定義前に引用される変数を含むルー
プであるときでも、その変数が指標変数の場合、あるい
は内積および総和などのマクロ演算に含まれる場合は従
来技術においてもベクトル化することができる。
However, even in the case of a loop including a variable that is quoted before definition, vectorization can be performed even in the conventional technique when the variable is an index variable or included in a macro operation such as inner product and summation. it can.

【0004】[0004]

【発明が解決しようとする課題】ベクトル演算機能を有
するベクトルプロセッサは、一般に、目的プログラムの
うちのベクトル命令によって実行される部分の割合を大
きければ大きい程、目的プログラムの実行時間を短縮す
ることができる。しかし、上述の従来技術では、定義前
に引用される変数を含むループはベクトル化することが
できず、スカラ命令で実行されるため実行時間を短縮で
きない。
In general, a vector processor having a vector operation function can shorten the execution time of the target program by increasing the ratio of the portion of the target program executed by the vector instruction. it can. However, in the above-mentioned conventional technique, the loop including the variable quoted before the definition cannot be vectorized and executed by the scalar instruction, so that the execution time cannot be shortened.

【0005】この発明の目的は、定義前に引用される変
数を含むループが一定の条件に合致するとき、並列実行
可能なベクトルに変換することである。
An object of the present invention is to convert a vector containing a variable referred to before definition into a vector which can be executed in parallel when a certain condition is satisfied.

【0006】[0006]

【課題を解決するための手段】この発明の高級言語によ
って記述されるソースプログラムをベクトル演算機能を
有するベクトルプロセッサで実行される目的プログラム
に変換するベクトル化変換システムは、前記ソースプロ
グラムを読み込み、構文解析し、解析結果を示す第1の
中間テキストを生成する構文解析手段と、前記第1の中
間テキスト中に定義前に引用される変数を含むループが
並列実行可能な条件を満足するか否かを判定する条件判
定手段と前記ループの定義前に引用される前記変数が前
記ループの回次毎の値を格納する作業用配列を生成し、
前記ループ中の前記変数の引用を前記作業用配列の前記
値の引用に置き換える第2の中間テキストを生成するル
ープ構成手段とを有するベクトル化手段と、前記第2の
中間テキストに基づいて前記目的プログラムを生成する
コード生成手段と、を含むコンパイル手段を備える。
A vectorizing conversion system for converting a source program described in a high-level language of the present invention into an object program executed by a vector processor having a vector operation function, reads the source program and constructs it. Whether the parsing means for parsing and generating a first intermediate text indicating the analysis result and a loop including a variable quoted before the definition in the first intermediate text satisfy a condition capable of parallel execution Generating a working array in which the variable referred to before the definition of the condition determining means and the loop stores a value for each turn of the loop,
Vectorizing means having loop intermediate means for generating second intermediate text for replacing the variable citations in the loop with the value quotations of the working array; and the object based on the second intermediate text. Compiling means including a code generating means for generating a program.

【0007】[0007]

【実施例】次に、この発明について図面を参照し説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0008】この発明の一実施例のシステム構成を示す
図1を参照すると、ベクトル化変換システム1には、ソ
ースプログラム2を読み込むコンパイラ部3と、コンパ
イラ部3が生成する第1の中間テキスト34および第2
の中間テキスト35と、コンパイル出力である目的プロ
グラム4とを有する。更に、コンパイラ部3には、高級
言語で書かれたソースプログラムを読み込み、構文解析
を行って解析結果を示す第1の中間テキスト34を生成
する構文解析部31と、第1の中間テキスト34から並
列実行可能部分の認識を行い、ループをベクトル化する
第2の中間テキスト35を生成するベクトル化部32
と、第2の中間テキスト35から目的プログラム4を生
成して出力するコード生成部33とを備える。更に、ま
た、上記ベクトル化部3は、定義前に引用される変数を
含むループに対して並列実行可能な条件を満足するかど
うかを判定する条件判定部321と、上記条件判定部3
21で並列実行可能と判定された定義前に引用される変
数を含むループについて、定義前に引用される変数をル
ープの回次毎の値を格納する作業用配列に変換し、ルー
プ中の前記変数の引用を作業用配列の値の引用に置き換
えることによって、定義前に引用される変数を含むルー
プをベクトル化する第2の中間テキストを生成するルー
プ構成部322とを含む。
Referring to FIG. 1 showing the system configuration of an embodiment of the present invention, in the vectorization conversion system 1, a compiler section 3 for reading a source program 2 and a first intermediate text 34 generated by the compiler section 3 are included. And the second
Intermediate text 35 and the target program 4 which is a compile output. Further, the compiler unit 3 reads a source program written in a high-level language, performs a syntax analysis, and generates a first intermediate text 34 indicating the analysis result. A vectorization unit 32 for recognizing parallel executable parts and generating a second intermediate text 35 for vectorizing the loop.
And a code generator 33 that generates and outputs the object program 4 from the second intermediate text 35. Furthermore, the vectorization unit 3 further includes a condition determination unit 321 that determines whether or not a parallel execution condition is satisfied for a loop including a variable that is quoted before the definition, and the condition determination unit 3 described above.
For a loop including a variable that is referred to before the definition that is determined to be parallel executable in step 21, the variable that is referred to before the definition is converted into a working array that stores a value for each cycle of the loop, and A loop construct 322 for generating a second intermediate text that vectorizes the loop containing the variable referenced before definition by replacing the variable reference with the value of the working array.

【0009】この実施例において、図4に例示するソー
スプログラムが与えられる場合、定義前に引用される変
数がループの回次毎の値を格納する作業用配列を生成
し、ループ中のこの変数の引用を作業用配列の値の引用
で置き換えることにより並列実行可能なベクトルに変換
する。図4のソースプログラムでは、図5に例示する作
業用配列RWを生成し、元のループ中の変数Rがループ
の回次毎の値を作業用配列RWに格納するテキスト部分
を生成し、元のループから変数Rを定義している分を除
外し、変数Rの引用を作業用配列RWの値の引用に置き
換えるテキスト記述に元のループを変形することによっ
て、元のループ中の定義前に引用される変数Rの並列実
行に対する矛盾する依存関係を解消し、並列実行可能な
ベクトルとする。
In this embodiment, when the source program illustrated in FIG. 4 is given, the variable referred to before the definition creates a working array for storing the value for each turn of the loop, and this variable in the loop is generated. Convert to a vector that can be executed in parallel by replacing the quotes of with the quotes of the values in the working array. In the source program of FIG. 4, the working array RW illustrated in FIG. 5 is generated, and the variable R in the original loop generates a text portion in which the value for each cycle of the loop is stored in the working array RW. Before defining it in the original loop by transforming the original loop into a text description in which the variable R is excluded from the loop and the reference of the variable R is replaced with the reference of the value of the working array RW. The conflicting dependency of the quoted variable R on the parallel execution is resolved to make the vector executable in parallel.

【0010】図4に例示するソースプログラムから構文
解析部3によって図2に例示する第1の中間テキストが
構文解析部31によって得られ、ベクトル化部32に入
力され、条件判定部321は、定義前に引用される変数
を含むループがあるか否かを認識すると、条件判定部3
21は次の(1)から(5)の条件を満足するか否かを
判定する。 (1)ループを構成するDO文のDO変数の初期値,終
値および増分値がいずれも定数であり、かつ増分値は正
の値であること。図4に例示するソースプログラムで
は、DO変数Iの初期値が「1」、終値が「10」、お
よび増分値が「1」であるので、この条件を満たしてい
る。 (2)定義前に引用される変数について、ループ中での
定義がループの回次毎に必ず行われること。即ち、この
定義を行う特定の条件がないこと。図4に例示するソー
スプログラムでは、定義前に引用される変数Rは、ルー
プの回次毎に必ず実行されるため、この条件を満たして
いる。 (3)定義前に引用される変数について、ループ中での
定義が代入文で1箇所だけで行われること。図4に例示
するソースプログラムでは、定義前に引用される変数R
は、ループ中での定義が1箇所だけで行われており、こ
の条件を満たしている。 (4)定義前に引用される変数について、定義を行って
いる文の右辺の式中にループ中の他の文の要素と依存関
係がないこと。図4に例示するソースプログラムでは、
定義前に引用される変数Rの定義を行っている文の右辺
の配列要素B(I)はループ中の他の文に現れていない
ため依存関係がなく、この条件を満たしている。 (5)定義前に引用される変数について、引用が変数を
定義する文の前でのみ定義されていること。図4に例示
するソースプログラムでは、定義前に引用される変数R
の引用は定義の前でのみ行われておりこの条件を満たし
ている。
The first intermediate text illustrated in FIG. 2 is obtained by the syntax analysis unit 31 from the source program illustrated in FIG. 4 by the syntax analysis unit 3 and input to the vectorization unit 32, and the condition determination unit 321 defines the definition. When recognizing whether or not there is a loop including the variable quoted before, the condition determination unit 3
21 determines whether or not the following conditions (1) to (5) are satisfied. (1) The initial value, the final value, and the increment value of the DO variable of the DO statement that constitutes the loop are all constants, and the increment value is a positive value. In the source program illustrated in FIG. 4, since the initial value of the DO variable I is “1”, the final value is “10”, and the increment value is “1”, this condition is satisfied. (2) For variables that are referenced before the definition, the definition in the loop must be made every time the loop is repeated. That is, there is no specific condition for this definition. In the source program illustrated in FIG. 4, the variable R quoted before the definition satisfies this condition because it is always executed each time the loop is executed. (3) For variables that are quoted before the definition, the definition in the loop must be made in only one place in the assignment statement. In the source program illustrated in FIG. 4, the variable R quoted before the definition
Is defined in only one place in the loop, which satisfies this condition. (4) Regarding the variables quoted before the definition, the expression on the right side of the defining statement has no dependency relationship with the elements of other statements in the loop. In the source program illustrated in FIG. 4,
Since the array element B (I) on the right side of the statement defining the variable R quoted before the definition does not appear in another statement in the loop, it has no dependency and satisfies this condition. (5) For variables that are quoted before definition, the citation is defined only before the statement that defines the variable. In the source program illustrated in FIG. 4, the variable R quoted before the definition
Quotation is made only before the definition and satisfies this condition.

【0011】上記(1)から(5)の条件を全て満足し
ているとき、定義前に引用される変数を含むループは並
列実行可能と判定される。
When all of the above conditions (1) to (5) are satisfied, it is determined that the loop including the variable quoted before the definition can be executed in parallel.

【0012】条件判定部321で並列実行可能と判定さ
れている定義前に引用される変数を含むループに対し
て、ループ構成部322は次の動作を行う。
The loop constructing unit 322 performs the following operation for the loop including the variable that is referred to before the definition, which is determined by the condition determining unit 321 to be executable in parallel.

【0013】先ず、ループ構成部322は定義前に引用
される変数に対して、作業用配列を生成する。これの作
業用配列は次元数を「1」,寸法の下限を「DO変数の
初期値」,寸法の上限を「DO変数の終値+DO変数の
増分値」およびデータ型を定義前に引用される変数と同
じデータ型とする。図4に例示するソースプログラムで
は、寸法の下限が「1」,寸法の上限が「11」の実数
型配列RWを生成する。次にループ構成部322は元の
ループの1回目の繰り返しの時の定義前に引用される変
数の値を作業用配列に格納するための代入文を含む第2
の中間テキストを生成する。生成する代入文の右辺は添
字がDO変数の初期値の作業用配列であり、左辺は元の
ループでの定義前に引用される変数である。
First, the loop construction unit 322 creates a working array for the variables quoted before the definition. The working array of this is quoted before defining the number of dimensions as "1", the lower limit of the dimension as "initial value of DO variable", the upper limit of dimension as "final value of DO variable + increment value of DO variable" and data type. It has the same data type as the variable. In the source program illustrated in FIG. 4, a real number type array RW having a lower limit of size “1” and an upper limit of size “11” is generated. Next, the loop configuration unit 322 includes an assignment statement for storing the value of the variable quoted before the definition at the time of the first iteration of the original loop into the working array.
Generates the intermediate text of. The right side of the generated assignment statement is the working array whose subscript is the initial value of the DO variable, and the left side is the variable that is referenced before the definition in the original loop.

【0014】図4に例示するソースプログラムでは、代
入文 RW(1)=R を含む図3および図5に例示する第2の中間テキストを
生成する。
In the source program illustrated in FIG. 4, the second intermediate text illustrated in FIGS. 3 and 5 including the assignment statement RW (1) = R is generated.

【0015】更に次に、ループ構成部322は元のルー
プの2回目以降の繰り返しの時の定義前に引用される変
数の値を作業用配列に格納するためのループを含む第2
の中間テキストを生成する。生成するループのDO変数
とDO変数の初期値,終値,および増分値は元のループ
と同じであり、ループ中の代入文は右辺が「DO変数+
DO変数の増分値」の添字を持ち作業用配列であり、左
辺が元のループでの定義前に引用される変数が定義され
ている代入文の左辺と同じである。図4に例示するソー
スプログラムでは、図3および図5に例示するループ中
の代入文 WR(I+1)=B(I) をベクトル命令によって実行する第2の中間テキストを
生成する。
Further, the loop construction unit 322 includes a second loop including a loop for storing the value of the variable quoted before the definition in the second and subsequent iterations of the original loop in the working array.
Generates the intermediate text of. The DO variable of the generated loop and the initial value, the final value, and the increment value of the DO variable are the same as those of the original loop, and the assignment statement in the loop has "DO variable +
It is a working array having a subscript of "DO variable increment value", and the left side is the same as the left side of the assignment statement in which the variable quoted before the definition in the original loop is defined. In the source program illustrated in FIG. 4, a second intermediate text that executes the assignment statement WR (I + 1) = B (I) in the loop illustrated in FIGS. 3 and 5 by a vector instruction is generated.

【0016】そして、元のループから定義前に引用され
る変数が定義されている文を除き、さらに定義前に引用
される変数の引用を作業用配列の引用に置き換えた第2
の中間テキストを生成する。それの作業用配列の添字
は、元のループのDO変数である。図4に例示するソー
スプログラムでは、元のループ中の変数Rの定義を行っ
ている文 R=B(I) をループ中から除き、変数Rを引用している A(I)=R を図3および図5に例示する A(I)=RW(I) に置き換えている文をベクトル命令により実行する第2
の中間テキストを生成する。そして、更に、元のループ
中の定義前に引用される変数について終値保証を行うた
めの代入文を第2の中間テキストに生成する。この代入
文の左辺は定義前に引用される変数であり、右辺は添字
が「DO変数の終値+DO変数の増分値」の作業用配列
である。図4に例示するソースプログラムでは、図3お
よび図5に例示する代入文 R=RW(11) を含む第2の中間テキストを生成する。
Then, except for the statement in which the variable that is referenced before the definition is defined from the original loop, the reference of the variable that is referenced before the definition is replaced with the reference of the working array.
Generates the intermediate text of. The subscript of its working array is the DO variable of the original loop. In the source program illustrated in FIG. 4, the statement R = B (I) defining the variable R in the original loop is removed from the loop, and the variable R is quoted A (I) = R 3 and the example illustrated in FIG. 5 A second statement in which a statement replacing A (I) = RW (I) is executed by a vector instruction
Generates the intermediate text of. Then, further, an assignment statement for guaranteeing the final value of the variable quoted before the definition in the original loop is generated in the second intermediate text. The left side of this assignment statement is a variable that is quoted before definition, and the right side is a working array whose subscript is "DO variable end value + DO variable increment value". In the source program illustrated in FIG. 4, the second intermediate text including the assignment statement R = RW (11) illustrated in FIGS. 3 and 5 is generated.

【0017】[0017]

【発明の効果】以上説明したようにうに、この発明によ
れば、従来ベクトル化できない定義前に引用される変数
を含むループをベクトル化できる。それによって、ベク
トルプロセッサにおいて目的プログラムの実行時間を短
縮することができる。
As described above, according to the present invention, it is possible to vectorize a loop including a variable that is quoted before the definition that cannot be vectorized conventionally. Thereby, the execution time of the target program can be shortened in the vector processor.

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

【図1】この発明の一実施例のシステム構成を示す図で
ある。
FIG. 1 is a diagram showing a system configuration of an embodiment of the present invention.

【図2】図1の第1の中間テキストを例示する図であ
る。
FIG. 2 is a diagram illustrating a first intermediate text of FIG.

【図3】図1の第2の中間テキストを例示する図であ
る。
FIG. 3 is a diagram illustrating a second intermediate text of FIG.

【図4】変数を定義前に引用するソースプログラムを例
示する図である。
FIG. 4 is a diagram illustrating a source program that cites variables before definition.

【図5】図4のソースプログラムを変形し、並列実行可
能なベクトル化を例示する図である。
FIG. 5 is a diagram showing an example of vectorization in which the source program of FIG. 4 is modified and which can be executed in parallel.

【図6】従来技術における並列実行可能なソースプログ
ラムを例示する図である。
FIG. 6 is a diagram illustrating a source program that can be executed in parallel in a conventional technique.

【図7】図6のソースプログラムに対する第1の中間テ
キストを例示する図である。
FIG. 7 is a diagram illustrating a first intermediate text for the source program of FIG.

【図8】図6のソースプログラムに対する第2の中間テ
キストを示す図である。
FIG. 8 shows a second intermediate text for the source program of FIG.

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

1 ベクトル化変換システム 2 ソースプログラム 3 コンパイラ 4 目的プログラム 31 構文解析部 32 ベクトル化部 33 コード生成部 34 第1の中間テキスト 35 第2の中間テキスト 321 条件判定部 322 ループ構成部 1 Vectorization conversion system 2 Source program 3 Compiler 4 Object program 31 Syntax analysis unit 32 Vectorization unit 33 Code generation unit 34 First intermediate text 35 Second intermediate text 321 Condition determination unit 322 Loop configuration unit

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 高級言語によって記述されるソースプロ
グラムをベクトル演算機能を有するベクトルプロセッサ
で実行される目的プログラムに変換するベクトル化変換
システムは、 前記ソースプログラムを読み込み、構文解析し、解析結
果を示す第1の中間テキストを生成する構文解析手段
と、 前記第1の中間テキスト中に定義前に引用される変数を
含むループが並列実行可能な条件を満足するか否かを判
定する条件判定手段と前記ループの定義前に引用される
前記変数が前記ループの回次毎の値を格納する作業用配
列を生成し、前記ループ中の前記変数の引用を前記作業
用配列の前記値の引用に置き換える第2の中間テキスト
を生成するループ構成手段とを有するベクトル化手段
と、 前記第2の中間テキストに基づいて前記目的プログラム
を生成するコード生成手段と、 を含むコンパイル手段を備えることを特徴とするベクト
ル化変換システム。
1. A vectorization conversion system for converting a source program written in a high-level language into an object program executed by a vector processor having a vector operation function, the source program being read, syntax-analyzed, and an analysis result being shown. Syntactic analysis means for generating a first intermediate text, and condition determination means for determining whether or not a loop including a variable quoted before definition in the first intermediate text satisfies a condition for parallel execution The variable referenced before defining the loop creates a working array that stores a value for each iteration of the loop, and replaces the variable references in the loop with the value references of the working array. A vectorizing means having a loop forming means for generating a second intermediate text; and the object program based on the second intermediate text. A vectorization conversion system comprising: a code generation unit that generates a.
JP7331293A 1993-03-31 1993-03-31 Vectorization systen Withdrawn JPH06290206A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7331293A JPH06290206A (en) 1993-03-31 1993-03-31 Vectorization systen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7331293A JPH06290206A (en) 1993-03-31 1993-03-31 Vectorization systen

Publications (1)

Publication Number Publication Date
JPH06290206A true JPH06290206A (en) 1994-10-18

Family

ID=13514537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7331293A Withdrawn JPH06290206A (en) 1993-03-31 1993-03-31 Vectorization systen

Country Status (1)

Country Link
JP (1) JPH06290206A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194624A (en) * 1995-01-20 1996-07-30 Fujitsu Ltd Executing form program preparing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194624A (en) * 1995-01-20 1996-07-30 Fujitsu Ltd Executing form program preparing method

Similar Documents

Publication Publication Date Title
US4833606A (en) Compiling method for vectorizing multiple do-loops in source program
US5274812A (en) Method of compiling source code into vectorized object code by performing a one-dimensional analysis on each dimension of a multi-dimensional array within a loop
JPH07234790A (en) Device and method for program conversion processing
JP2001166949A (en) Method and device for compiling source code by using symbolic execution
US5805894A (en) Method inside an optimizing compiler for analyzing assertions and redirecting control flow in programs
Fedorchenko et al. Equivalent transformations and regularization in context-free grammars
Inala et al. Synthesis of domain specific CNF encoders for bit-vector solvers
Gotti et al. UML executable: A comparative study of UML compilers and interpreters
JPH05189472A (en) Vectorization processing system for compiler
Alias et al. On the recognition of algorithm templates
WO1994023396A1 (en) System for conversion of loop functions to continuation-passing style
JPH06290206A (en) Vectorization systen
Taneja et al. LLM-Vectorizer: LLM-based Verified Loop Vectorizer
Naumann et al. Control flow reversal for adjoint code generation
JPH0540780A (en) Vectorizing processing system
Mossin Partial evaluation of general parsers
US20170249131A1 (en) Compilation apparatus and compiling method
Silber et al. The Nestor library: A tool for implementing fortran source to source transfromations
Blindell Survey on instruction selection: An extensive and modern literature review
Sunitha Compiler construction
JP2956591B2 (en) Method and apparatus for parallelizing a loop having a conditional jump out of the loop
CN114595477A (en) Data encryption method, device and equipment by using special password instruction processor
JP2801193B2 (en) Vectorization processing device for induction variables
JPH04220727A (en) Vectorization processing system
JPH0795272B2 (en) Compile method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000704