JPH11167492A - ループ飛び出し文を含むループに対する配列サマリ解析方法 - Google Patents
ループ飛び出し文を含むループに対する配列サマリ解析方法Info
- Publication number
- JPH11167492A JPH11167492A JP9348471A JP34847197A JPH11167492A JP H11167492 A JPH11167492 A JP H11167492A JP 9348471 A JP9348471 A JP 9348471A JP 34847197 A JP34847197 A JP 34847197A JP H11167492 A JPH11167492 A JP H11167492A
- Authority
- JP
- Japan
- Prior art keywords
- loop
- array
- variable
- control variable
- value
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
- G06F8/452—Loops
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
る言語処理系において、ループ飛び出し文を含むループ
に対して配列サマリ解析の精度を向上し、配列プライベ
ート化の適用性を向上する。 【解決手段】ループ飛び出し文およびループ飛び出し時
のループ制御変数の値をスカラ変数に設定する文がルー
プ内に含まれる場合には、ループの本体の配列サマリに
おいてループ制御変数の上限をこのスカラ変数で置き換
え、この結果から変数消去法でループ制御変数を消去し
た結果をループの配列サマリとすることにより、近似無
しで配列サマリを計算する。 【効果】ループ飛び出し時のループ制御変数の値をスカ
ラ変数に設定する文を含むループに対して、配列プライ
ベート化の適用性が向上する。
Description
を含むループに対して近似無しで配列サマリ解析を行う
方法に関する。
行性能を向上するために、種々の並列化変換をプログラ
ムに実施する。並列化変換は主にループに対して適用さ
れるが、各ループに任意の並列化変換が適用できるわけ
ではなく、どの並列化変換が適用できるかを判定する必
要がある。
ループ内でのデータの参照状況解析である。ループ内で
参照されるデータには、スカラ変数と配列がある。スカ
ラ変数の参照では常に同じメモリ領域が参照される。こ
れに対して、配列は、添字の値によって別のメモリ領域
が参照されるため、ループ内でどの配列のどの部分がど
のように参照されるかを解析する必要がある。
適用性判定の手段として、ループ内で参照される各配列
の配列部分及び参照の性質を解析する配列サマリ解析が
開発されている。配列サマリ解析については、文献1
「M. Hall, B. Murphy, S. AmarASinghe, S. Liao,
M. Lam, Interprocedural analysis for parallelizati
on, Proceedings of the 8th International Workshop
on Languages and Compilers for Parallel Computing,
Springer-Verlag, August 1995.」に示されている。
対して配列プライベート化と呼ばれる並列化変換の適用
性を判定する場合の配列サマリ解析について説明する。
配列サマリ解析では、最内側ループから外側ループに向
かってボトムアップに、また、プログラムの実行順序に
ついて逆順に、配列の参照状況を解析し、図8の配列サ
マリを求める。
体、ループなどのプログラム部分を表す。なお、ループ
本体とはループ内の文全体であり、例えば図4のループ
L2の本体は文S2のみである。以下、ループLに対し
てループLの本体をL(body)で表す。ループ本体
の配列サマリは、ループの1回のイタレーション(ルー
プの1回分の繰り返し)に対する配列サマリであり、ル
ープの配列サマリは、ループの全イタレーションに対す
る配列サマリである。
ようになる。ループL2は文S2しか含まないので、ル
ープL2の本体の配列サマリは、S2の配列サマリその
ものとなり、図9(b)のようになる。Fourier-Motzkin変
数消去法などの変数消去法を用いてループL2の本体の
配列サマリからループL2のループ制御変数Kを消去す
ることにより、ループL2の配列サマリは図9(c)のよ
うになる。同様の処理を文S1及びループL1に対して
行うことにより、ループL1の配列サマリは図9(d)の
ようになる。次に、ループL1とループL2の配列サマ
リからループL0の本体の配列サマリを求めると、図9
(e)のようになる。
列AのExposedReadが空集合になることか
ら、L0の各イタレーションで値を読み出される全ての
配列部分は、同イタレーション内で予め値を設定済みで
あることが分かる。よって、ループL0の各イタレーシ
ョンでは、他のイタレーションで設定した配列要素の値
を読み出すことが無いことが分かる。そこで、ループL
0の各イタレーションで別々の配列TA(1:N)を用
意して配列Aの代わりに用いることにより、ループL0
の各イタレーションはお互いに無関係に実行できること
が分かる。このような変換を配列プライベート化と呼
ぶ。
ープL0の各繰り返しは独立に実行できるので、図5の
ように並列化することができる。ただし、DOALLは
並列化ループの始まりを示す。また、文S0は、配列T
A(1:N)のメモリ領域をループの各イタレーション
で別々に用意することを示す。
ープ内にループ飛び出しがある場合、近似して配列サマ
リ解析を行うと記述されている。しかしながら、具体的
な近似方法は上記従来技術では示されていなかった。
ついては、実際の集合を含む集合で近似すればよく、参
照の必然性を示す集合については、実際の集合に含まれ
る集合で近似すれば良いことが知られている。よって、
ループに対する配列サマリのうち、値が書き込まれる可
能性がある配列部分の集合と、値が読み出される可能性
がある配列部分の集合と、値が書き込まれる前に読み出
される可能性がある配列部分の集合は、ループ飛び出し
が無い場合の配列サマリで近似し、必ず値が書き込まれ
る配列部分の集合は空集合で近似すれば、ループ飛び出
しを含むループに対しても配列サマリ解析が行える。
プ飛び出しを含むループに対する配列サマリ解析を行う
方法が考えられる。
は、近似により解析精度が不足し、並列化変換が実際に
は適用可能であるにもかかわらず、適用不能と判断して
しまう場合があるという問題があった。
1がループ飛び出しを含んでいるため、ループL1で必
ず値が書き込まれる配列部分の集合MustWrite
(L1)が空集合で近似される。そのため、図10に示
すように、ループL0の本体の各イタレーションで値が
書き込まれる前に読み出される可能性がある配列部分の
集合、即ち、ExposedRead(L0(body))が
空集合にならず、ループL0で配列Aをプライベート化
できると判定できなかった。そのために、ループL0の
並列化も実施できなかった。
ループに対して配列サマリ解析の精度を向上し、配列プ
ライベート化の適用性を向上することである。
め、請求項1に係る発明は、ソースプログラムから目的
プログラムを生成する言語処理系における配列サマリ解
析方法であって、(a)ソースプログラムの構文解析を行
い中間コードを生成する構文解析ステップと、(b)該中
間コード内の各ループ内に対して、該ループで値が書き
込まれる可能性がある配列部分の集合と、該ループで必
ず値が書き込まれる配列部分の集合と、該ループで値が
読み出される可能性がある配列部分の集合と、該ループ
で値が書き込まれる前に読み出される可能性がある配列
部分の集合とから構成される配列サマリを生成する配列
サマリ解析ステップと、(c)該配列サマリを元に、該中
間コード内のループに対して配列プライベート化を行う
配列プライベート化ステップと、(d)前記ステップ(c)の
書き換え後の中間コード内のループに対して並列化を行
うループ並列化ステップと、(e)前記ステップ(d)の書き
換え後の中間コードに対して目的プログラムを生成する
目的プログラム生成ステップとを含み、前記ステップ
(b)が、(f)ループ飛び出し文およびループ飛び出し時の
ループ制御変数の値をスカラ変数に設定する文を含むル
ープに対して該スカラ変数の値をループ制御変数の上限
として配列サマリを計算するループ飛び出し時制御変数
値配列サマリ解析ステップを含むことを特徴とする。
テップ(f)において、ループ飛び出し文およびループ飛
び出し時のループ制御変数の値をスカラ変数に設定する
文がループ内に含まれる場合には、該ループの本体の配
列サマリにおいて該ループのループ制御変数の上限を該
スカラ変数で置き換え、変数消去法で該ループ制御変数
を消去した結果を該ループの配列サマリとすることを特
徴とする。
プであっても、ループ飛び出し時のループ制御変数の値
をスカラ変数に設定する文がループ内に含まれる場合に
は、近似なしで配列サマリが計算されるので、配列サマ
リ解析の精度が向上し、配列プライベート化が適用可能
となる。
むループに対して近似無しで配列サマリ解析を行う方法
に関するものである。以下では、本発明の1実施形態を
図面を用いて説明する。
成を示す。言語処理系20は、ソースプログラム10を
入力し、ループ並列化などの最適化を施したうえで、目
的プログラム30を生成する。ソースプログラム10
は、FortranやCなどのプログラミング言語で記
述されたプログラムであり、目的プログラム30は、コ
ンパイラでは機械語命令であり、プリプロセッサではF
ortranやCなどのプログラミング言語である。
tranで記述されたプログラムであり、目的プログラ
ム30もFortranで記述されたプログラムである
場合を例にして説明する。すなわち、言語処理系20が
プリプロセッサの場合について説明する。
26の各ステップから構成される。これらのうち、ステ
ップ22では、ステップ23の処理が追加されている
が、他のステップは、公知の技術である。よって、ステ
ップ22以外については、簡単な説明に止める。
10の構文解析を行い中間コード28を生成する構文解
析を行う。
ープ部分に対して、ループの実行により値が書き込まれ
る可能性がある配列部分の集合と、ループで必ず値が書
き込まれる配列部分の集合と、ループで値が読み出され
る可能性がある配列部分の集合と、ループで値が書き込
まれる前に読み出される可能性がある配列部分の集合か
ら構成される配列サマリ29を生成する配列サマリ解析
を行う。
んでおり、ステップ23では、ループ飛び出し文および
ループ飛び出し時のループ制御変数の値をスカラ変数に
設定する文の両方を含むループに対して、このスカラ変
数の値をループ制御変数の上限として近似無しで配列サ
マリ29を計算するループ飛び出し時制御変数値配列サ
マリ解析を行う。なお、ステップ22およびステップ2
3の詳細については、後述する。
に、中間コード28内のループに対して配列プライベー
ト化を行う。ステップ25では、ステップ24の書き換
え後の中間コード28内のループに対してループ並列化
を行う。ステップ26では、ステップ25の書き換え後
の中間コード28に対して目的プログラム30を生成す
る。
むループに対して、そのループがループ飛び出し時のル
ープ制御変数の値をスカラ変数に設定する文を含む場合
には、ステップ23により近似無しで配列サマリ29が
解析されるので、配列プライベート化24の適用対象が
増える。即ち、配列プライベート化24の適用性が向上
する。
プ23の詳細フローである。なお、図2のステップのう
ち、220,230,235,237が図1のステップ
23の詳細である。なお、図2では、与えられたループ
Lに対して、配列サマリ29を計算する。
列サマリ29(以下、ASと呼ぶ)を求める。ループ本
体の配列サマリ29の解析方法は公知なので詳細は省略
するが、ループ本体の配列サマリ29を解析するに当た
って内側ループの配列サマリ29を求める場合には、図
1の処理を再帰的に呼び出す。
び出し文を含むか否か判定する。これが真の場合はステ
ップ230を実行し、偽の場合は、ステップ250を実
行する。
ループLのループ制御変数の値をスカラ変数に設定する
文がループLに含まれるか判定する。この処理の詳細
は、後述するが、この結果が真の場合は235を実行
し、偽の場合は240を実行する。
いて、ループLのループ制御変数に対する上限を前記ス
カラ変数で置きかえる。ステップ237では、ステップ
235で変更した配列サマリASから、ループLのルー
プ制御変数を消去し、この結果をLの配列サマリとす
る。
7により、ループ飛び出し文およびループ飛び出し時の
ループ制御変数の値をスカラ変数に設定する文を含むル
ープに対して、配列サマリ29を近似無しに計算するこ
とが出来る。
ループ制御変数の値をスカラ変数に設定する文が含まれ
ない場合の近似を行う。具体的には、値が必ず書き込ま
れる配列部分の集合を空集合にする。このステップの後
でステップ250を実行することにより、ループに対す
る配列サマリ29のうち、値が書き込まれる可能性があ
る配列部分の集合と値が読み出される可能性がある配列
部分の集合と値が書き込まれる前に読み出される可能性
がある配列部分の集合は、ループ飛び出しがない場合の
配列サマリで近似され、必ず値が書き込まれる配列部分
の集合は空集合で近似される。
配列サマリASからループLのループ制御変数を消去
し、この結果をLの配列サマリとする。
3の処理の一部のため、ステップ250と別の処理とし
たが、これらは同一の処理なので、ステップ235の処
理の次にステップ250を実行しても良い。
ーである。まずステップ310では、ループLの本体の
先頭の文をSとする。
文であるか否か判定し、これが真の場合はステップ33
0を実行し、偽の場合はステップ340を実行する。ス
テップ330では、ループ飛び出し時のループLのルー
プ制御変数の値をスカラ変数に設定する文は無いと判定
して、処理を終わる。
つ、左辺がスカラ変数(以下、Vとする)、右辺がルー
プLのループ制御変数であるか否か判定する。これが真
の場合は、ステップ342を実行し、偽の場合は、ステ
ップ360を実行する。
文を支配するか否か判定する。これが真の場合は、ステ
ップ344を実行し、偽の場合はステップ330を実行
する。なお、文S1が文S2を支配するとは、プログラ
ムの先頭からS2に至る全てのパスでS1が予め実行さ
れることを示す。支配関係の解析は、公知の技術である
ので、詳細は省略する。
入文がループL中で1つであるか否か判定する。これが
真の場合は、ステップ350を実行し、偽の場合は、ス
テップ330を実行する。
文Sでループ飛び出し時のループ制御変数の値をスカラ
変数Vに設定していることが判定できる。ステップ35
0では、ループ飛び出し時のループLのループ制御変数
の値をスカラ変数に設定する文はSであると判定して、
処理を終わる。
次の文が有るか否か判定する。これが真の場合は、ステ
ップ370を実行し、L内のSの次の文を新たなSとし
て設定し、ステップ320に制御を移してループする。
偽の場合は、ステップ330を実行する。
て、本発明の適用効果を説明する。図11は、図6のソ
ースプログラム例に対する本発明での配列サマリ29を
示す。なお、図6の例ではループL3とループL2はル
ープ飛び出し文を含まないので、従来と同様の配列サマ
リ解析により解析され、図10(a)および図10(b)と同
じになる。内容が同じなので、図11ではこれらの配列
サマリは省略した。
含むので、図2のステップ220の判定結果が真とな
り、ステップ230が実行される。ステップ230で
は、図3のフローに従って、ループ飛び出し時のループ
L1のループ制御変数Kの値をスカラ変数に設定する文
がループLに含まれるか否か判定する。この結果、文S
1がそのような文であると判定され、ステップ235が
実行される。
配列サマリ29において、ループL1のループ制御変数
Kに対する上限を文S1の代入先スカラ変数KEで置き
かえる。図11(a)は、ループL1の本体の配列サマリ
29であり、図11(b)は、ループ制御変数Kに対する
上限を文S1の代入先スカラ変数KEで置きかえたもの
である。
数Kを消去すると、図11(c)になり、ループL1に対
するExposedReadが近似無しで表現されたこ
とが分かる。
サマリ29を計算すると図11(d)となり、ループL0
の本体に対するExposedReadが空集合になる
ことが分かる。よって、ループL0内で配列Aはプライ
ベート化可能であることが分かる。
ループL0内で配列Aはプライベート化され、この結
果、図1のステップ25でループL0はループ並列化さ
れる。よって、ステップ26での処理により、図7に示
す目的プログラム30が生成される。
ループに対して配列サマリ解析の精度が向上し、配列プ
ライベート化の適用性が向上する。これにより、ループ
並列化可能となるループが増大し、プログラムの実行速
度が向上する。
図。
列サマリを示す図。
サマリを示す図。
的プログラム、21…構文解析、22…配列サマリ解
析、23…ループ飛び出し時制御変数値配列サマリ解
析、24…配列プライベート化、25…ループ並列化、
26…目的プログラム生成、28…中間コード、29…
配列サマリ。
Claims (2)
- 【請求項1】ソースプログラムから目的プログラムを生
成する言語処理系における配列サマリ解析方法であっ
て、(a)ソースプログラムの構文解析を行い中間コード
を生成する構文解析ステップと、(b)該中間コード内の
各ループ内に対して、該ループで値が書き込まれる可能
性がある配列部分の集合と、該ループで必ず値が書き込
まれる配列部分の集合と、該ループで値が読み出される
可能性がある配列部分の集合と、該ループで値が書き込
まれる前に読み出される可能性がある配列部分の集合と
から構成される配列サマリを生成する配列サマリ解析ス
テップと、(c)該配列サマリを元に、該中間コード内の
ループに対して配列プライベート化を行う配列プライベ
ート化ステップと、(d)前記ステップ(c)の書き換え後の
中間コード内のループに対して並列化を行うループ並列
化ステップと、(e)前記ステップ(d)の書き換え後の中間
コードに対して目的プログラムを生成する目的プログラ
ム生成ステップとを含み、前記ステップ(b)が、(f)ルー
プ飛び出し文およびループ飛び出し時のループ制御変数
の値をスカラ変数に設定する文を含むループに対して該
スカラ変数の値をループ制御変数の上限として配列サマ
リを計算するループ飛び出し時制御変数値配列サマリ解
析ステップ を含むことを特徴とする配列サマリ解析方
法。 - 【請求項2】前記ステップ(f)において、ループ飛び出
し文およびループ飛び出し時のループ制御変数の値をス
カラ変数に設定する文がループ内に含まれる場合には、
該ループの本体の配列サマリにおいて該ループのループ
制御変数の上限を該スカラ変数で置き換え、変数消去法
で該ループ制御変数を消去した結果を該ループの配列サ
マリとすることを特徴とする請求項1に記載の配列サマ
リ解析方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34847197A JP3539613B2 (ja) | 1997-12-03 | 1997-12-03 | ループ飛び出し文を含むループに対する配列サマリ解析方法 |
US09/201,818 US6282704B1 (en) | 1997-12-03 | 1998-12-01 | Method for analyzing array summary for loop including loop exit statement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34847197A JP3539613B2 (ja) | 1997-12-03 | 1997-12-03 | ループ飛び出し文を含むループに対する配列サマリ解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11167492A true JPH11167492A (ja) | 1999-06-22 |
JP3539613B2 JP3539613B2 (ja) | 2004-07-07 |
Family
ID=18397239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34847197A Expired - Lifetime JP3539613B2 (ja) | 1997-12-03 | 1997-12-03 | ループ飛び出し文を含むループに対する配列サマリ解析方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6282704B1 (ja) |
JP (1) | JP3539613B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002013250A1 (fr) * | 2000-08-04 | 2002-02-14 | Tokyo Electron Limited | Antenne radiale et dispositif à plasma l'utilisant |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7337437B2 (en) * | 1999-12-01 | 2008-02-26 | International Business Machines Corporation | Compiler optimisation of source code by determination and utilization of the equivalence of algebraic expressions in the source code |
US8176108B2 (en) * | 2000-06-20 | 2012-05-08 | International Business Machines Corporation | Method, apparatus and computer program product for network design and analysis |
US20040098711A1 (en) * | 2002-11-20 | 2004-05-20 | Yonghong Song | Method and system for dependence analysis |
US7089545B2 (en) * | 2002-12-17 | 2006-08-08 | International Business Machines Corporation | Detection of reduction variables in an assignment statement |
US7581215B1 (en) | 2003-06-30 | 2009-08-25 | Sun Microsystems, Inc. | Dependency analysis system and method |
US7171544B2 (en) * | 2003-12-15 | 2007-01-30 | International Business Machines Corporation | Run-time parallelization of loops in computer programs by access patterns |
US7487497B2 (en) * | 2004-08-26 | 2009-02-03 | International Business Machines Corporation | Method and system for auto parallelization of zero-trip loops through induction variable substitution |
US8037462B2 (en) * | 2006-08-02 | 2011-10-11 | International Business Machines Corporation | Framework for parallelizing general reduction |
US8112751B2 (en) * | 2007-03-01 | 2012-02-07 | Microsoft Corporation | Executing tasks through multiple processors that process different portions of a replicable task |
US8381195B2 (en) | 2010-06-17 | 2013-02-19 | Microsoft Corporation | Implementing parallel loops with serial semantics |
JP6164054B2 (ja) * | 2013-11-08 | 2017-07-19 | 富士通株式会社 | 情報処理装置、コンパイル方法およびコンパイラプログラム |
WO2015174428A1 (ja) | 2014-05-15 | 2015-11-19 | 旭硝子株式会社 | ガラス物品、及びガラス物品の製造方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396627A (en) * | 1987-11-06 | 1995-03-07 | Hitachi, Ltd. | Method of producing object program based on interprocedural dataflow analysis of a source program |
JP2749039B2 (ja) * | 1987-11-06 | 1998-05-13 | 株式会社日立製作所 | オブジェクト生成方法 |
JP2834171B2 (ja) * | 1989-02-06 | 1998-12-09 | 株式会社日立製作所 | コンパイル方法 |
US5437034A (en) * | 1991-04-19 | 1995-07-25 | Hitachi, Ltd. | Method of generating from source program object program by which final values of variables for parallel execution are guaranteed |
US5361354A (en) * | 1991-12-17 | 1994-11-01 | Cray Research, Inc. | Optimization of alternate loop exits |
JP3208870B2 (ja) * | 1992-10-30 | 2001-09-17 | 株式会社日立製作所 | データ分割パタンの評価方法 |
GB9305263D0 (en) * | 1993-03-15 | 1993-05-05 | Univ Westminster | Parrallel computation |
JP3417984B2 (ja) * | 1993-09-10 | 2003-06-16 | 株式会社日立製作所 | キャッシュ競合削減コンパイル方法 |
US5790859A (en) * | 1995-12-21 | 1998-08-04 | International Business Machines Corporation | Method of, system for, and computer program product for efficient identification of private variables in program loops by an optimizing compiler |
US5812852A (en) * | 1996-11-14 | 1998-09-22 | Kuck & Associates, Inc. | Software implemented method for thread-privatizing user-specified global storage objects in parallel computer programs via program transformation |
US5966534A (en) * | 1997-06-27 | 1999-10-12 | Cooke; Laurence H. | Method for compiling high level programming languages into an integrated processor with reconfigurable logic |
US5953531A (en) * | 1997-07-25 | 1999-09-14 | International Business Machines Corporation | Method of, system for, and computer program product for minimizing loop execution time by optimizing block/tile sizes |
-
1997
- 1997-12-03 JP JP34847197A patent/JP3539613B2/ja not_active Expired - Lifetime
-
1998
- 1998-12-01 US US09/201,818 patent/US6282704B1/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002013250A1 (fr) * | 2000-08-04 | 2002-02-14 | Tokyo Electron Limited | Antenne radiale et dispositif à plasma l'utilisant |
Also Published As
Publication number | Publication date |
---|---|
JP3539613B2 (ja) | 2004-07-07 |
US6282704B1 (en) | 2001-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0814817B2 (ja) | 自動ベクトル化方法 | |
US6253371B1 (en) | Method for supporting parallelization of source program | |
JP3311462B2 (ja) | コンパイル処理装置 | |
JP2838855B2 (ja) | コンパイラの最適化方法 | |
JP2921190B2 (ja) | 並列実行方式 | |
JPH11259437A (ja) | 不要バリア命令の削減方式 | |
JP2001282549A (ja) | プログラム変換装置及び方法並びに記録媒体 | |
US20100153937A1 (en) | System and method for parallel execution of a program | |
EP2687981A1 (en) | Automated compiler specialisation for global optimisation | |
JPH01121938A (ja) | オブジェクト生成方法 | |
JP4346316B2 (ja) | 複数の意味レベルによるアスペクト指向プログラミングのための方法 | |
JPH07105012A (ja) | 言語処理プログラムのコンパイル処理方式 | |
JP3539613B2 (ja) | ループ飛び出し文を含むループに対する配列サマリ解析方法 | |
JP3651774B2 (ja) | コンパイラ及びそのレジスタ割付方法 | |
US6009273A (en) | Method for conversion of a variable argument routine to a fixed argument routine | |
JPH0926884A (ja) | バイナリ操作を必要とするタスク中に必要なフロー情報を使用可能とする方法および装置 | |
JP4462676B2 (ja) | プログラム変換装置、コンパイラ装置およびプログラム変換プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US20020199177A1 (en) | Compiler device and compile program | |
JP2956591B2 (ja) | ループ外への条件付き飛び出しがあるループの並列化方法及び装置 | |
JPH0522272B2 (ja) | ||
JP2008015665A (ja) | プログラム解析方法及びプログラム解析装置 | |
JPH11149380A (ja) | コンパイラとプログラム最適化方法およびその処理プログラムを記録した記録媒体 | |
JPH09265400A (ja) | コンパイル最適化方式 | |
JPH11195011A (ja) | 言語翻訳処理装置、言語翻訳処理方法、言語翻訳処理プログラムを記録した記録媒体 | |
JPH10326193A (ja) | インライン展開関数の最適化のためのコンパイル方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031224 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040318 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110402 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120402 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120402 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140402 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term |