JP2682206B2 - Optimization method of target program - Google Patents

Optimization method of target program

Info

Publication number
JP2682206B2
JP2682206B2 JP2187516A JP18751690A JP2682206B2 JP 2682206 B2 JP2682206 B2 JP 2682206B2 JP 2187516 A JP2187516 A JP 2187516A JP 18751690 A JP18751690 A JP 18751690A JP 2682206 B2 JP2682206 B2 JP 2682206B2
Authority
JP
Japan
Prior art keywords
intermediate text
program
shared data
inputting
data
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 - Lifetime
Application number
JP2187516A
Other languages
Japanese (ja)
Other versions
JPH0477829A (en
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.)
NEC Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2187516A priority Critical patent/JP2682206B2/en
Publication of JPH0477829A publication Critical patent/JPH0477829A/en
Application granted granted Critical
Publication of JP2682206B2 publication Critical patent/JP2682206B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は目的プログラムの最適化方式に関し、特にマ
ルチプロセッサシステムに対して高級プログラミング言
語で記述された原子プログラムを入力し並列処理を行う
目的プログラムを生成するコンパイラにおける目的プロ
グラムの最適化方式に関する。
The present invention relates to an optimization method of a target program, and particularly to a target program for inputting an atomic program described in a high-level programming language to a multiprocessor system and performing parallel processing. The optimization method of the object program in the compiler that generates

〔従来の技術〕[Conventional technology]

従来、この種のコンパイラでは、マルチプロセッサシ
ステムに対して原始プログラムを入力して並列処理を行
う目的プログラムを生成する処理において、同期あるい
は排他制御を行う際に必要なキャッシュクリア処理の前
後で並列化により非共有データとなったデータを定義あ
るいは引用している場合、該データに対する一連の定義
あるいは引用命令の途中でキャッシュクリア処理が行わ
れないように命令を並べ換えることごできるときでも命
令を並べ換えていなかった。
Conventionally, in this type of compiler, in the process of inputting a source program to a multiprocessor system and generating a target program for parallel processing, parallelization is performed before and after cache clear processing required for synchronous or exclusive control. When data that has become non-shared data is defined or quoted by, the instructions can be rearranged even if the instructions can be rearranged so that cache clear processing is not performed in the middle of a series of definitions or quotation instructions for the data. Didn't.

第2図は、FORTRANで記述された原始プログラム100の
一例を示す図である。この原始プログラム100には、並
列処理で実行される外部サブルーチン(サブルーチン
名:PARALLEL)110が含まれ、この外部サブルーチン110
の中には、、さらに並列化により非共有データとなる局
所的な変数Aを定義する代入文120と、同期をとるため
の外部サブルーチン(サブルーチン名:BARRIER)呼出し
文130と、局所的な変数Aを引用する代入文140とがこの
順序で含まれている。
FIG. 2 is a diagram showing an example of the source program 100 written in FORTRAN. This source program 100 includes an external subroutine (subroutine name: PARALLEL) 110 that is executed in parallel processing.
In addition, an assignment statement 120 that defines a local variable A that becomes non-shared data by parallelization, an external subroutine (subroutine name: BARRIER) call statement 130 for synchronization, and a local variable An assignment statement 140 quoting A is included in this order.

また、第3図は、第2図に例示した原始プログラム10
0に対して従来のコンパイラにより生成される中間テキ
スト200を示す図である。この中間テキスト200には、局
所的な変数Aを定義する代入文200と、同期をとるため
の外部サブルーチン呼出し文230と、局所的な変数Aを
引用する代入文240とがこの順序で含まれている。局所
的な変数Aを定義する代入文220の実行により、同期を
とるための外部サブルーチン呼出し文230の実行時に
は、局所的な変数Aがキャッシュ上に存在するが、外部
サブルーチン呼出し文230の実行によりキャッシュがク
リアされるので、直後の局所的な変数Aを引用する代入
文240においてはキャッシュミスが発生することにな
り、このためにプログラムを高速に実行することができ
ない。
In addition, FIG. 3 shows the source program 10 illustrated in FIG.
FIG. 8 is a diagram showing intermediate text 200 generated by a conventional compiler for 0. This intermediate text 200 includes an assignment statement 200 that defines a local variable A, an external subroutine call statement 230 for synchronization, and an assignment statement 240 that cites a local variable A in this order. ing. When the external subroutine call statement 230 for synchronization is executed by executing the assignment statement 220 that defines the local variable A, the local variable A exists in the cache, but by execution of the external subroutine call statement 230 Since the cache is cleared, a cache miss will occur in the assignment statement 240 that immediately cites the local variable A, which makes it impossible to execute the program at high speed.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上述した従来のコンパイラでは、マルチプロセッサシ
ステムに対して原子プログラムを入力して並列処理を行
う目的プログラムを生成する処理において、同期あるい
は排他制御を行う際に必要なキャッシュクリア処理の前
後で並列化により非共有データとなったデータを定義あ
るいは引用している場合、該データに対する一連の定義
あるいは引用命令の途中でキャッシュクリア処理が行わ
れないように命令を並べ換えることができるときでも命
令を並べ換えていなかったので、キャッシュクリア処理
の前で非共有データとなったデータを定義あるいは引用
している場合でかつキャッシュクリア処理の後で該デー
タを定義あるいは引用している場合にはキャッシュクリ
ア処理の後の該データに対する定義あるいは引用におい
てキャッシュミスが発生しプログラムを高速に実行する
ことができないという欠点がある。
In the conventional compiler described above, in the process of inputting the atomic program to the multiprocessor system and generating the target program for parallel processing, parallelization is performed before and after the cache clearing process required for synchronous or exclusive control. When data that has become non-shared data is defined or quoted, the instructions are rearranged even if they can be rearranged so that cache clear processing is not performed in the middle of a series of definitions or quotation instructions for the data. Since it was not, if the data that has become non-shared data is defined or quoted before the cache clear processing and if the data is defined or quoted after the cache clear processing, after the cache clear processing There is a cache miss in the definition or quotation of There is a drawback that it is not possible to run without the program at a high speed.

本発明の目的は、上述の点に鑑み、同期あるいは排他
制御を行う際に必要なキャッシュクリア処理の前後で並
列化により非共有データとなったデータを定義あるいは
引用している場合に該データに対する一連の定義あるい
は引用命令の途中でキャッシュクリア処理が行われない
ように命令を並べ換えるようにした目的プログラムの最
適化方式を提供することにある。
In view of the above points, an object of the present invention is to define or quote data that has become non-shared data due to parallelization before and after cache clear processing required when performing synchronization or exclusive control, and An object of the present invention is to provide an optimization method of a target program in which instructions are rearranged so that cache clear processing is not performed in the middle of a series of definitions or quoted instructions.

〔課題を解決するための手段〕[Means for solving the problem]

本発明の目的プログラムの最適化方式は、マルチプロ
セッサシステムに対して高級プログラミング言語で記述
された原子プログラムを入力し並列処理を行う目的プロ
グラムを生成するコンパイラにおいて、原始プログラム
を入力し構文解析を行って第1中間テキストを生成する
構文解析部と、前記第1中間テキストを入力しプログラ
ム中の並列化可能部分を並列化した第2中間テキストを
生成する並列化処理部と、前記第2中間テキストを入力
し並列化により非共有データとなったデータに関する情
報を非共有データテーブルに出力する非共有データ抽出
部と、前記第2中間テキストと前記非共有データテーブ
ルとを入力し同期あるいは排他制御を行う際に必要なキ
ャッシュクリア処理の前後で非共有データとなったデー
タを定義あるいは引用しているときに該データに対する
一連の定義あるいは引用命令の途中でキャッシュクリア
処理が行われないように前記第2中間テキストを並べ換
えた第3中間テキストを生成する最適化処理部と、前記
第3中間テキストを入力し目的プログラムを生成する目
的プログラム生成部とを有する。
The optimization method of the object program of the present invention is to input a source program written in a high-level programming language to a multiprocessor system and generate an object program for parallel processing. And a parallelization processing unit for generating a first intermediate text, a parallelization processing unit for inputting the first intermediate text, and generating a second intermediate text by parallelizing parallelizable portions in a program, and the second intermediate text. And a non-shared data extraction unit that outputs information about data that has become non-shared data by parallelization to a non-shared data table, and the second intermediate text and the non-shared data table are input to perform synchronization or exclusive control. Defines or pulls the data that became non-shared data before and after the cache clear process required when performing And an optimization processing unit that generates a third intermediate text in which the second intermediate text is rearranged so that cache clear processing is not performed in the middle of a series of definitions or citation commands for the data. A target program generation unit for inputting the intermediate text and generating a target program.

〔作用〕[Action]

本発明の目的プログラムの最適化方式では、構文解析
部が原始プログラムを入力し構文解析を行って第1中間
テキストを生成し、並列化処理部が第1中間テキストを
入力しプログラム中の並列化可能部分を並列化した第2
中間テキストを生成し、非共有データ抽出部が第2中間
テキストを入力し並列化により非共有データとなったデ
ータに関する情報を非共有データテーブルに出力し、最
適化処理部が第2中間テキストを非共有データテーブル
とを入力し同期あるいは配置制御を行う際に必要なキャ
ッシュクリア処理の前後で非共有データとなったデータ
を定義あるいは引用しているときに該データに対する一
連の定義あるいは引用命令の途中でキャッシュクリア処
理が行われないように第2中間テキストを並べ換えた第
3中間テキストを生成し、目的プログラム生成部が第3
中間テキストを入力し目的プログラムを生成する。
In the optimization method of the object program of the present invention, the syntactic analysis unit inputs the source program and performs syntactic analysis to generate the first intermediate text, and the parallelization processing unit inputs the first intermediate text and parallelizes the program. Second parallelization of possible parts
The intermediate text is generated, the non-shared data extraction unit inputs the second intermediate text, outputs information about the data that has become non-shared data by parallelization to the non-shared data table, and the optimization processing unit outputs the second intermediate text. When defining or quoting data that has become non-shared data before and after the cache clearing process that is required when inputting the non-shared data table and performing synchronization or placement control, a series of definitions or quotation commands for the data are defined. The third intermediate text is generated by rearranging the second intermediate text so that the cache clear processing is not performed in the middle, and the target program generation unit generates the third intermediate text.
Input intermediate text and generate target program.

〔実施例〕〔Example〕

次に、本発明について図面を参照して詳細に説明す
る。
Next, the present invention will be described in detail with reference to the drawings.

第1図は、本発明の一実施例に係る目的プログラムの
最適化方式が適用されたコンパイラ2の構成を示すブロ
ック図である。このコンパイラ2は、原始プログラム1
を入力し構文解析を行って第1中間テキスト3を生成す
る構文解析部21と、第1中間テキスト3を入力しプログ
ラム中の並列化可能部分を並列化した第2中間テキスト
4を生成する並列化処理部22と、第2中間テキスト4を
入力し並列化により非共有データとなったデータに関す
る情報を非共有データテーブル5に出力する非共有デー
タ抽出部23と、第2中間テキスト4と非共有データテー
ブル5とを入力し同期あるいは排他制御を行う際に必要
なキャッシュクリア処理の前後で非共有データとなった
データを定義あるいは引用している場合に該データに対
する一連の定義あるいは引用命令の途中でキャッシュク
リア処理が行われないように第2中間テキスト4を並べ
換えた第3中間テキスト6を生成する最適化処理部24
と、第3中間テキスト6を入力し目的プログラム7を生
成する目的プログラム生成部25とを含んで構成されてい
る。
FIG. 1 is a block diagram showing the configuration of a compiler 2 to which an object program optimization method according to an embodiment of the present invention is applied. This compiler 2 is the source program 1
Is input to perform parsing to generate the first intermediate text 3, and the parallel to input the first intermediate text 3 and generate the second intermediate text 4 in which the parallelizable parts in the program are parallelized. The non-shared data extraction unit 23 that inputs the second intermediate text 4 and outputs information about the data that has become non-shared data by parallelization to the non-shared data table 5, and the second intermediate text 4 When defining or quoting data that has become non-shared data before and after the cache clearing process necessary for inputting the shared data table 5 and performing synchronization or exclusive control, a series of definition or citation commands for the data An optimization processing unit 24 that generates a third intermediate text 6 in which the second intermediate text 4 is rearranged so that the cache clearing process is not performed on the way.
And a target program generation unit 25 for inputting the third intermediate text 6 and generating the target program 7.

第4図は、第2図に例示した原始プログラム100に対
して共有データ抽出部23により生成される非共有データ
テーブル5の一例を示す図である。この非共有データテ
ーブル5では、非共有データとなったデータに関する情
報として非共有データ名を格納している。
FIG. 4 is a diagram showing an example of the non-shared data table 5 generated by the shared data extraction unit 23 for the source program 100 illustrated in FIG. In the non-shared data table 5, a non-shared data name is stored as information about the data that has become non-shared data.

次に、このように構成された本実施例の目的プログラ
ムの最適化方式の動作について説明する。
Next, the operation of the object program optimizing method of the present embodiment configured as described above will be described.

構文解析部21は、原始プログラム1を入力して構文解
析を行い、第1中間テキスト3を生成する。
The syntactic analysis unit 21 inputs the source program 1 and performs syntactic analysis to generate the first intermediate text 3.

次に、並列化処理部22は、第1中間テキスト3を入力
し、プログラム中の並列化可能部分を並列化した第2中
間テキスト4を生成する。
Next, the parallelization processing unit 22 inputs the first intermediate text 3 and generates the second intermediate text 4 in which the parallelizable parts in the program are parallelized.

続いて、非共有データ抽出部23は、第2中間テキスト
4を入力し、並列化により非共有データとなったデータ
に関する情報、例えば非共有データ名を非共有データテ
ーブル5に出力する。
Then, the non-shared data extraction unit 23 inputs the second intermediate text 4 and outputs information about the data that has become non-shared data by parallelization, for example, a non-shared data name to the non-shared data table 5.

次に、最適化処理部24は、第2中間テキスト4と非共
有データテーブル5とを入力し、同期あるいは排他制御
を行う際に必要なキャッシュクリア処理の前後で非共有
データとなったデータを定義あるいは引用している場
合、該データに対する一連の定義あるいは引用命令の途
中でキャッシュクリア処理が行われないように第2中間
テキスト4を並べ換えた第3中間テキスト6を生成す
る。
Next, the optimization processing unit 24 inputs the second intermediate text 4 and the non-shared data table 5 and collects the data that has become non-shared data before and after the cache clear processing required when performing synchronization or exclusive control. When the definition or reference is made, the third intermediate text 6 in which the second intermediate text 4 is rearranged is generated so that the cache clear processing is not performed in the middle of a series of definition or reference commands for the data.

第5図は、第2図に例示した原始プログラム100に対
して最適化処理部24により生成される第3中間テキスト
6を示す図である。ここでは、局所的な変数Aを引用す
る代入文340は、最適化処理部24により、非共有データ
テーブル5を基に該代入文340が非共有データとなった
データ(AおよびC)のみを扱っているため、同期をと
るための外部サブルーチン呼出し文330の前に移動する
ことが可能であると判断され、また同期をとるための外
部サブルーチン呼出し文330の前には局所的な変数Aを
定義する代入文320があるため、データの定義あるいは
引用時のキャッシュミスを考慮して同期をとるための外
部サブルーチン呼出し文340の直前に移動するように判
断され、第2中間テキスト4が第3中間テキスト6のよ
うに並べ換えられる。
FIG. 5 is a diagram showing the third intermediate text 6 generated by the optimization processing unit 24 for the source program 100 illustrated in FIG. Here, the assignment statement 340 that cites the local variable A includes only the data (A and C) whose assignment statement 340 has become non-shared data based on the non-shared data table 5 by the optimization processing unit 24. Since it is handled, it is determined that it is possible to move to the external subroutine call statement 330 for synchronization, and the local variable A is set in front of the external subroutine call statement 330 for synchronization. Since there is the assignment statement 320 to be defined, it is determined to move immediately before the external subroutine call statement 340 for synchronization in consideration of the cache miss at the time of data definition or reference, and the second intermediate text 4 is set to the third. It is rearranged like the intermediate text 6.

最後に、目的プログラム生成部25は、第3中間テキス
ト6を入力し、目的プログラム7を生成する。
Finally, the target program generator 25 inputs the third intermediate text 6 and generates the target program 7.

したがって、第2図に例示した原始プログラム100に
対してコンパイラ2により生成される目的プログラム7
を実行すると、局所的な変数Aを引用する代入文340に
おいてキャッシュミスが発生しないため、プログラムを
高速に実行することができる。
Therefore, the target program 7 generated by the compiler 2 for the source program 100 illustrated in FIG.
Is executed, a cache miss does not occur in the assignment statement 340 that cites the local variable A, so that the program can be executed at high speed.

〔発明の効果〕〔The invention's effect〕

以上説明したように本発明は、マルチプロセッサシス
テムに対して原始プログラムを入力して並列処理を行う
目的プログラムを生成するコンパイラにおいて、同期あ
るいは排他制御を行う際に必要なキャッシュクリア処理
の前後で非共有データとなったデータを定義あるいは引
用している場合、該データに対する一連の定義あるいは
引用命令の途中でキャッシュクリア処理が行われないよ
うに命令を並べ換えることにより、キャッシュクリア処
理の前で非共有データとなったデータを定義あるいは引
用している場合でかつキャッシュクリア処理の後で該デ
ータを定義あるいは引用している場合でも、該データに
対する一連の定義あるいは引用命令の途中でキャッシュ
クリア処理が行われないように命令が並べ換えられるた
め、キャッシュクリア処理の後で該データを定義あるい
は引用していた命令が実行されるときにキャッシュミス
が発生しなくなるので、プログラムを高速に実行できる
という効果がある。
As described above, according to the present invention, in a compiler that inputs a source program to a multiprocessor system and generates a target program that performs parallel processing, a non-process before and after cache clear processing required when performing synchronization or exclusive control is performed. When data that has become shared data is defined or quoted, by rearranging the instructions so that the cache clear processing is not performed in the middle of a series of definition or quote instructions for the data, the Even when the data that has become the shared data is defined or quoted and the data is defined or quoted after the cache clear processing, the cache clear processing is performed in the middle of a series of definition or quote commands for the data. The instructions are reordered so that they do not occur, so the cache clear Since the cache miss when the instruction which has been defined or cited the data after processing is executed does not occur, there is an effect that the program can be executed at high speed.

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

第1図は本発明の一実施例に係る目的プログラムの最適
化方式が適用されたコンパイラの構成を示すブロック
図、 第2図はFORTRANで記述された原始プログラムの一例を
示す図、 第3図は第2図に例示した原始プログラムに対して従来
のコンパイラにより生成される中間テキストを示す図、 第4図は第2図に例示した原始プログラムに対して第1
図中の非共有データ抽出部により生成される非共有デー
タテーブルを示す図、 第5図は第2図に例示した原始プログラムに対して第1
図中の最適化処理部により生成される第3中間テキスト
を示す図である。 図において、 1……原始プログラム、 2……コンパイラ、 3……第1中間テキスト、 4……第2中間テキスト、 5……非共有データテーブル、 6……第3中間テキスト、 7……目的プログラム、 21……構文解析部、 22……並列化処理部、 23……非共有データ抽出部、 24……最適化処理部、 25……目的プログラム生成部、 100……原始プログラム、 110……並列処理で実行される外部サブルーチン、 120,220,320……局所的な変数Aを定義する代入文、 130,230,330……同期をとるための外部サブルーチン呼
出し文、 140,240,340……局所的な変数Aを引用する代入文であ
る。
FIG. 1 is a block diagram showing a configuration of a compiler to which an object program optimization system according to an embodiment of the present invention is applied, FIG. 2 is a diagram showing an example of a source program written in FORTRAN, and FIG. Is a diagram showing an intermediate text generated by a conventional compiler for the source program illustrated in FIG. 2, and FIG. 4 is a first diagram for the source program illustrated in FIG.
The figure which shows the non-shared data table produced | generated by the non-shared data extraction part in the figure, FIG. 5 is the 1st with respect to the source program illustrated in FIG.
It is a figure which shows the 3rd intermediate text produced | generated by the optimization process part in a figure. In the figure, 1 ... Source program, 2 ... Compiler, 3 ... First intermediate text, 4 ... Second intermediate text, 5 ... Non-shared data table, 6 ... Third intermediate text, 7 ... Purpose Program, 21 …… Syntax analysis unit, 22 …… Parallelization processing unit, 23 …… Unshared data extraction unit, 24 …… Optimization processing unit, 25 …… Object program generation unit, 100 …… Primitive program, 110… … External subroutine executed in parallel, 120,220,320 …… Assignment statement that defines local variable A, 130,230,330 …… External subroutine call statement for synchronization, 140,240,340 …… Assignment statement that cites local variable A Is.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】マルチプロセッサシステムに対して高級プ
ログラミング言語で記述された原子プログラムを入力し
並列処理を行う目的プログラムを生成するコンパイラに
おいて、 原始プログラムを入力し構文解析を行って第1中間テキ
ストを生成する構文解析部と、 前記第1中間テキストを入力しプログラム中の並列化可
能部分を並列化した第2中間テキストを生成する並列化
処理部と、 前記第2中間テキストを入力し並列化により非共有デー
タとなったデータに関する情報を非共有データテーブル
に出力する非共有データ抽出部と、 前記第2中間テキストと前記非共有データテーブルとを
入力し同期あるいは排他制御を行う際に必要なキャッシ
ュクリア処理の前後で非共有データとなったデータを定
義あるいは引用しているときに該データに対する一連の
定義あるいは引用命令の途中でキャッシュクリア処理が
行われないように前記第2中間テキストを並べ換えた第
3中間テキストを生成する最適化処理部と、 前記第3中間テキストを入力し目的プログラムを生成す
る目的プログラム生成部と を有することを特徴とする目的プログラムの最適化方
式。
1. A compiler for inputting an atomic program written in a high-level programming language to a multiprocessor system to generate an object program for parallel processing, inputting a source program and performing syntax analysis to output a first intermediate text. A parsing unit for generating, a parallelization processing unit for inputting the first intermediate text, and for generating a second intermediate text by parallelizing parallelizable portions in a program, and inputting the second intermediate text for parallelization. A non-shared data extraction unit that outputs information about the data that has become non-shared data to a non-shared data table, and a cache that is required when performing synchronization or exclusive control by inputting the second intermediate text and the non-shared data table When defining or quoting data that has become non-shared data before and after clear processing An optimization processing unit for generating a third intermediate text in which the second intermediate text is rearranged so that the cache clearing process is not performed in the middle of a series of definitions or quotation commands for the target program for inputting the third intermediate text. And a target program generation unit that generates a target program optimization method.
JP2187516A 1990-07-16 1990-07-16 Optimization method of target program Expired - Lifetime JP2682206B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2187516A JP2682206B2 (en) 1990-07-16 1990-07-16 Optimization method of target program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2187516A JP2682206B2 (en) 1990-07-16 1990-07-16 Optimization method of target program

Publications (2)

Publication Number Publication Date
JPH0477829A JPH0477829A (en) 1992-03-11
JP2682206B2 true JP2682206B2 (en) 1997-11-26

Family

ID=16207445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2187516A Expired - Lifetime JP2682206B2 (en) 1990-07-16 1990-07-16 Optimization method of target program

Country Status (1)

Country Link
JP (1) JP2682206B2 (en)

Also Published As

Publication number Publication date
JPH0477829A (en) 1992-03-11

Similar Documents

Publication Publication Date Title
Baudisch et al. Multithreaded code from synchronous programs: Extracting independent threads for OpenMP
JP2682206B2 (en) Optimization method of target program
US20170206068A1 (en) Program optimization based on directives for intermediate code
Campbell et al. Refining and defining the program dependence web
de Azevedo Oliveira et al. Modelling an automotive software system with TASTD
JPH0756745A (en) Compiler processing system for language processing program
JPH0683597A (en) Object oriented program development device and object oriented program development method
JPH04343140A (en) Parallelized processing system
JPH03282826A (en) Parallel conversion translating system
Baxter Parallel support for source code analysis and modification
JP2518504B2 (en) Target program generator
JPS6353646A (en) Optimum object program generating system
JPH0659933A (en) Code converter
JPH03144830A (en) Parallel processing system
JPH03144832A (en) Symbolic debugging device for precompiler language program
JPH0512033A (en) Parallel compiling system
JPS63186333A (en) Scheduling processing system for instruction to local branching instruction
JPS62271024A (en) Optimization processing system
JPH04286030A (en) Optimizing system
JPH0612259A (en) Compiler processing system
Campos et al. Data-race and concurrent-write freedom are undecidable
JPH0795275B2 (en) Compile processor
JP2870218B2 (en) Parallel execution instruction sequence generation method
JPH02211542A (en) Module management information calculating system
JP2003208317A (en) Program development method