JP2921190B2 - 並列実行方式 - Google Patents

並列実行方式

Info

Publication number
JP2921190B2
JP2921190B2 JP3207152A JP20715291A JP2921190B2 JP 2921190 B2 JP2921190 B2 JP 2921190B2 JP 3207152 A JP3207152 A JP 3207152A JP 20715291 A JP20715291 A JP 20715291A JP 2921190 B2 JP2921190 B2 JP 2921190B2
Authority
JP
Japan
Prior art keywords
intermediate code
code
vector
execute
execution
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
JP3207152A
Other languages
English (en)
Other versions
JPH0535772A (ja
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
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP3207152A priority Critical patent/JP2921190B2/ja
Priority to US07/918,032 priority patent/US5598561A/en
Publication of JPH0535772A publication Critical patent/JPH0535772A/ja
Application granted granted Critical
Publication of JP2921190B2 publication Critical patent/JP2921190B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/456Parallelism detection

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子計算機システムの
コンパイラのうち、二つ以上の手続きを並列に実行でき
る並列プロセッサを有する電子計算機システムのコンパ
イラの方式に係わり、特に目的プログラムの最適化に関
する並列実行方式に関するものである。
【0002】
【従来の技術】従来は、ソース・プログラムのある部分
に対し、複数のアルゴリズムにより複数の異なるオブジ
ェクトを生成することができ、そのうちどのオブジェク
トの実行時間が最短になるか予め判断できない場合、コ
ンパイラが任意の基準でそのうちの一つを選択するか、
またはオプションの指示行により、利用者に選択させて
いた。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
技術で生成したオブジェクトでは、最適なアルゴリズム
で実行できない場合があると云う課題があった。本発明
の目的はこの点に鑑み、全ての場合に最適なアルゴリズ
ムで実行できる並列実行方式を提供することである。
【0004】
【課題を解決するための手段】本発明の第1の並列実行
方式は、ソースプログラムを中間コードに変換する構文
解析手段と、前記構文解析手段が変換した前記中間コー
ドの中にベクトル化が可能な中間コードが含まれている
か否かを判断し、ベクトル化が可能な中間コードが含ま
れている場合には、該ベクトル化が可能な中間コードを
ベクトルの長さを優先するベクトル命令に対応する第1
の中間コードとベクトルの連続性を優先するベクトル命
令に対応する第2の中間コードとに変換するとともに、
残りのベクトル化できない中間コードを第3の中間コー
ドに変換する最適化手段と、前記最適化手段が変換し
た、前記第1の中間コードと前記第2の中間コードと前
記第3の中間コードとからなる前記中間コードを実行可
能なオブジェクトコードに生成するコード生成手段とを
備え、前記最適化手段は、前記コード生成手段が生成し
たオブジェクトコードの内、前記第1の中間コードと前
記第2の中間コードのそれぞれに対応するオブジェクト
コードである第1のオブジェクトコードと第2のオブジ
ェクトコードとを並列に実行にする命令を前記第3の中
間コードに含め、さらに、それを含めた第3の中間コー
ドに対応するオブジェクトコードを実行して前記第1の
オブジェクトコードと前記第2のオブジェクトコードと
を並列に実行させ、いずれか先に実行が完了した方から
実行結果を取得するとともに、実行が完了していない方
を実行しないようにする命令を前記第3の中間コードに
含めることを特徴とする。
【0005】
【作用】本発明の並列実行方式における並列化中間コー
ド検出手段は一連の中間コードに対し同じ計算結果を得
る別の中間コードに変換することが可能で実行してみな
いと、いづれの中間コードが速く実行を終了するのか判
断できない中間コードを検出して、中間コード並列化変
換手段が検出された中間コードに対し別の中間コードを
追加して、元の中間コードと追加した中間コードを並列
に実行し、そのうちの一つが先に実行を終了したら、他
の実行を停止しもとの実行制御に戻る中間コードに変換
するので最適オブジェクトの生成ができる。
【0006】
【実施例】以下、本発明のFORTRANコンパイラに
おける一実施例を図面に基づき詳細に説明する。
【0007】図2は、本発明が適用されたコンパイラ全
体の構造を示す図である。図2の構文解析部22がFO
RTRANプログラムであるソース・プログラム21を
中間コード23に変換する。最適化部24はこれを入力
して、ベクトル化部241や自動並列化部1などを用い
て、最適化やベクトル化や並列化を行い、中間コード2
5に変換する。これよりコード生成部26がオブジェク
ト・コード27を生成する。本発明は自動並列化部1に
係わり、オブジェクト・コード27の実行効率を上げる
ものである。最適化部24のうち、本発明に係わる部分
について動作を説明する。
【0008】図1は、本発明の一実施例である並列実行
方式の構成図である。図1において、並列化中間コード
検出手段11はソース・プログラムの一部分に対応する
一連の中間コードに対し、同じ計算結果を得る別の中間
コードに変換が可能で、いずれの中間コードによる目的
プログラムが速く結果を計算できるのかが、その部分の
目的プログラムを実行してみなくては判断できない一連
の中間コードを検出する手段、中間コード並列化変換手
段12は上記並列化中間コード検出手段11で検出され
た一連の中間コードに対し、同じ計算結果を得る別の中
間コードを追加し、元の中間コードと追加した中間コー
とをオブジェクトコードとしてそれぞれ並列に実行さ
せたとき、そのうちの一つから結果を得た後、他の実行
を停止する中間コードに変換する手段、中間コード13
および14は最適化部24において中間コード23から
中間コード25へ変換される途中の中間コードに対応す
るものである。
【0009】図3は、本発明における中間コードの説明
のための一例である。図3において中間コード31は別
のプロセッサMでラベルLの中間コードから実行する中
間コードである。中間コード32はプロセッサMで実行
中の手続きを停止する中間コードである。中間コード3
3はAという配列のFA番目の要素からSA個おきにL
A個の要素を、Bという配列のFB番目の要素からSB
個おきの要素へ転送するベクトル命令に対応する中間コ
ードである。中間コード34はラベルLまでの中間コー
ドをH回繰り返し実行することを意味する中間コードで
ある。中間コード35は実行制御をラベルLの中間コー
ドに移す中間コードである。中間コード36はAの内容
をBに代入する中間コードである。中間コード37は副
プログラムの入口を示す中間コードである。中間コード
38は副プログラムから呼び出し側に実行制御を戻すこ
とを示す中間コードである。
【0010】図4は、本発明のソース・プログラムを説
明する図である。図4においてソース・プログラム41
は図2の入力するソース・プログラムの例であるFOR
TRANプログラム、中間コード42はソース・プログ
ラム41に対応する中間コード、中間コード43は中間
コード42と同じ結果を得る別の中間コード、ソース・
プログラム44は中間コード43を説明するための中間
コード43に対応するソース・プログラムである。ここ
でソース・プログラム41からソース・プログラム44
に変換するような最適化のことをループ入れ替えとい
う。
【0011】図5は、第2の実施例を示す出力される中
間コードの例を説明する図である。
【0012】一般的にベクトル命令はそのオペランドの
ベクトルの長さ、すなわちベクトル長が長ければ長いほ
ど、効率が良いと言われている。しかし、補助記憶装置
を主記憶装置であるかのように扱う仮想記憶空間上で実
行されるプログラムにおいては、ベクトル命令は被演算
子が長くてもベクトルの間隔が大きければ、補助記憶装
置から主記憶装置への複写の回数が多くなって、かえっ
て効率が悪くなってくる。
【0013】したがって、ベクトル化において多重DO
ループの入れ替えを行っても、その結果のベクトル命令
のベクトル長が長くなり、かつベクトル間隔が短くなる
のならばその入れ替えにより実行時間は短縮する。ま
た、ベクトル長が短くなり、かつベクトル間隔が大きく
なるのならば、入れ替えにより実行時間は増加すること
がわかるが、ベクトル長とベクトル間隔が両方大きくな
ったり、ベクトル長とベクトル間隔が両方小さくなって
いるのならば、入れ替えの効果は判断できない。
【0014】例えば、図4のソース・プログラム41の
FORTRANのソース・プログラムに対しては、最適
化部24はDOループの入れ替えを行うことにより、中
間コード42のようなベクトル長が長く、しかもベクト
ル命令の繰り返し数も少ない中間コードに変換すること
も可能ではあるが、実際には、中間コード42と中間コ
ード43のどちらが速く結果を計算できるかは、コンパ
イル時には判断できない。
【0015】並列化中間コード検出手段11は中間コー
ド13を入力し、上記のような多重DOループの入れ替
えが可能で、入れ替えを行った結果の命令のベクトル長
とベクトル間隔が両方大きくなるかまたは、ベクトル長
とベクトル間隔が両方小さくなるようなループ構造を検
出し、記録する。中間コード並列化変換手段12は、上
記の記録された中間コードを、図5で示されるような中
間コード14に変換する。
【0016】図5をみると、本実施例で変換された中間
コード14の構成は、図4のソース・プログラム41に
対応する中間コード42とソース・プログラム44に対
応する中間コード43があってこれらを生成してオブジ
ェクトコードとしたとき、並列に実行させる中間コード
51と、中間コード42と中間コード43のいずれか速
く結果を得た方が他の実行を停止する中間コード52
と、その後もとの実行制御に戻る中間コード53からな
る。
【0017】図6は第3の実施例の出力される中間コー
ドの例を示す図である。
【0018】ループを実行する際には、そのための準備
の処理が必要である。一般的に、これらの処理に必要な
時間は、ベクトル化されたループの方が長くかかるの
で、ベクトル長が短いと、ベクトル化した方がかえって
処理速度が遅くなってしまう。しかし、ベクトル長が十
分長ければ、ベクトル化した方が処理速度は速い。した
がって、ベクトル化した場合とベクトル化しない場合と
で実行時間が等しくなるベクトルの長さが存在し、その
長さのことをベクトル交叉長という。
【0019】ベクトル長をN、ベクトル交叉長をMとし
てN>Mならば、ベクトル命令にしたほうが速くなる。
ここでNがコンパイル時に決定できないとき、ベクトル
化した中間コードによる目的プログラムとベクトル化し
ない中間コードによる目的プログラムでどちらが速いか
は分からない。
【0020】並列化中間コード検出手段11はベクトル
化部241で検出されたベクトル化可能でかつ、ベクト
ル長が実行時まで決定できない部分を検出し、記録して
おく。中間コード並列化変換手段12は、上記の記録さ
れた中間コードを、図6で示されるような中間コード1
4に変換する。
【0021】図6をみると、本実施例で変換された中間
コードの構成は、ベクトル化した中間コード61とベク
トル化しない中間コード62があってこれらをオブジェ
クトコードとしたとき、並列に実行させる中間コード6
3と、中間コード61と中間コード62のいずれか速く
結果を得た方が他の実行を停止する中間コード64と、
その後もとの実行制御に戻る中間コード65からなる。
【0022】図7は第4の実施例の副プログラムの例を
示す図である。
【0023】一般的に、連続した領域にあるデータのア
クセスのほうが、分散した領域にあるデータのアクセス
より、高速に行われる。したがって、副プログラムを実
行する場合、図7のような変換を行うと処理時間が短縮
されることがある。
【0024】図7をみると、副プログラムの実行開始直
前に、対応する実引数の値を仮引数に対して割り当てら
れた領域に格納する文73を挿入し、文74のように以
後その仮引数の引用や定義に関してはその領域を使用
し、副プログラムの終了直前にその副プログラム内で定
義された可能性がある仮引数について、値をその領域か
ら対応する実引数へ返す文75を挿入している。
【0025】しかし、一時領域への格納の処理時間を考
慮にいれると、渡される実引数や仮引数の引用する回数
などによって、処理時間が短縮したりしなかったりす
る。そのためこのような変換を行ったほうが速くなるか
どうかは、実行してみなければ分からない。
【0026】並列化中間コード検出手段11は、副プロ
グラムの開始を示す中間コードを検出し、記録する。中
間コード並列化変換手段12は、図8に示す中間コード
14に変換する。
【0027】図8をみると、本実施例で変換された中間
コード14の構成は、図7のソース・プログラム72に
対応する中間コード82と図7のソース・プログラム7
1に対応する一時領域への格納を含む変換が成された中
間コード81をオブジェクトコードとしたとき、並列に
実行させる中間コード83と、中間コード81と中間コ
ード82のいずれか速く結果を得た方が他の実行を停止
する中間コード84と、その後もとの実行制御に戻る中
間コード85からなる。
【0028】
【発明の効果】従来の技術においては、ある種の手続き
に対し、複数のアルゴリズムによるオブジェクト生成が
考えられる場合、複数のコンパイラを用いるかコンパイ
ル・オプションを変えることによって複数のオブジェク
トを生成し、それらすべてを実行しなければ最適なオブ
ジェクトを生成するアルゴリズムを決定できなかった。
【0029】本発明によって、ソース・プログラムのあ
る部分に対し、異なるオブジェクトを複数生成し、並列
に実行することにより、結果的に優れているオブジェク
トを利用することが可能となり、プログラムの実行時間
を減らすことが出来る効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す並列実行方式の構成図
である。
【図2】本発明が適用されたコンパイラ全体の構造を示
す図である。
【図3】本発明における中間コードの説明のための一例
図である。
【図4】本発明のソース・プログラムを説明する図であ
る。
【図5】本発明の第2の実施例の出力される中間コード
の例を説明する図である。
【図6】本発明の第3の実施例の出力される中間コード
の例を説明する図である。
【図7】本発明の第4の実施例の副プログラムの例を説
明する図である。
【図8】本発明の第4の実施例の出力される中間コード
の例を説明する図である。
【符号の説明】
1・・・・・自動並列化部 11・・・・・並列化中間コード検出手段 12・・・・・中間コード並列化変換手段 13・・・・・中間コード 14・・・・・中間コード 21・・・・・ソース・プログラム 22・・・・・構文解析部 23,25・・中間コード 24・・・・・最適化部 26・・・・・コード生成部 27・・・・・オブジェクトコード 241・・・・ベクトル化部

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 ソースプログラムを中間コードに変換す
    る構文解析手段と、 前記構文解析手段が変換した前記中間コードの中にベク
    トル化が可能な中間コードが含まれているか否かを判断
    し、ベクトル化が可能な中間コードが含まれている場合
    には、該ベクトル化が可能な中間コードをベクトルの長
    さを優先するベクトル命令に対応する第1の中間コード
    とベクトルの連続性を優先するベクトル命令に対応する
    第2の中間コードとに変換するとともに、残りのベクト
    ル化できない中間コードを第3の中間コードに変換する
    最適化手段と、 前記最適化手段が変換した、前記第1の中間コードと前
    記第2の中間コードと前記第3の中間コードとからなる
    前記中間コードを実行可能なオブジェクトコードに生成
    するコード生成手段と を備え、 前記最適化手段は、前記コード生成手段が生成したオブ
    ジェクトコードの内、前記第1の中間コードと前記第2
    の中間コードのそれぞれに対応するオブジェクトコード
    である第1のオブジェクトコードと第2のオブジェクト
    コードとを並列に実行にする命令を前記第3の中間コー
    ドに含め、さらに、それを含めた第3の中間コードに対
    応するオブジェクトコードを実行して前記第1のオブジ
    ェクトコードと前記第2のオブジェクトコードとを並列
    に実行させ、いずれか先に実行が完了した方から実行結
    果を取得するとともに、実行が完了していない方を実行
    しないようにする命令を前記第3の中間コードに含める
    ことを特徴とする並列実行方式。
JP3207152A 1991-07-25 1991-07-25 並列実行方式 Expired - Lifetime JP2921190B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3207152A JP2921190B2 (ja) 1991-07-25 1991-07-25 並列実行方式
US07/918,032 US5598561A (en) 1991-07-25 1992-07-24 Optimizing compiler which generates multiple instruction streams to be executed in parallel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3207152A JP2921190B2 (ja) 1991-07-25 1991-07-25 並列実行方式

Publications (2)

Publication Number Publication Date
JPH0535772A JPH0535772A (ja) 1993-02-12
JP2921190B2 true JP2921190B2 (ja) 1999-07-19

Family

ID=16535084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3207152A Expired - Lifetime JP2921190B2 (ja) 1991-07-25 1991-07-25 並列実行方式

Country Status (2)

Country Link
US (1) US5598561A (ja)
JP (1) JP2921190B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200308A (ja) * 1993-12-28 1995-08-04 Nec Corp 最適命令列選択実行システム
JP3444671B2 (ja) * 1994-11-08 2003-09-08 富士通株式会社 並列コード変換処理方法とそのシステム
US5757966A (en) * 1995-07-11 1998-05-26 Xerox Corporation High-speed encoder
JP3380390B2 (ja) * 1996-03-27 2003-02-24 富士通株式会社 デバッグ情報表示装置
JPH1040223A (ja) * 1996-06-17 1998-02-13 Internatl Business Mach Corp <Ibm> 分散並列システムにおける集合通信認識の最適化方法
JP3196675B2 (ja) * 1996-12-27 2001-08-06 日本電気株式会社 言語処理方式
GB9825102D0 (en) 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
JP3641997B2 (ja) * 2000-03-30 2005-04-27 日本電気株式会社 プログラム変換装置及び方法並びに記録媒体
JP2002116917A (ja) * 2000-10-05 2002-04-19 Fujitsu Ltd オブジェクト指向型プログラミング言語によるソース・プログラムをコンパイルするコンパイラ
EP1308838A3 (en) * 2001-10-31 2007-12-19 Aplix Corporation Intermediate code preprocessing apparatus, intermediate code execution apparatus, intermediate code execution system, and computer program product for preprocessing or executing intermediate code
DE60223990T2 (de) * 2001-10-31 2008-12-04 Aplix Corp. System zum Ausführen von Zwischenkode, Methode zum Ausführen von Zwischenkode, und Computerprogrammprodukt zum Ausführen von Zwischenkode
US6976254B2 (en) 2001-11-28 2005-12-13 Esmertec Ag Inter-method control transfer for execution engines with memory constraints
US20040006667A1 (en) * 2002-06-21 2004-01-08 Bik Aart J.C. Apparatus and method for implementing adjacent, non-unit stride memory access patterns utilizing SIMD instructions
US7765532B2 (en) * 2002-10-22 2010-07-27 Oracle America, Inc. Inducing concurrency in software code
US7222218B2 (en) 2002-10-22 2007-05-22 Sun Microsystems, Inc. System and method for goal-based scheduling of blocks of code for concurrent execution
US7346902B2 (en) * 2002-10-22 2008-03-18 Sun Microsystems, Inc. System and method for block-based concurrentization of software code
US7603664B2 (en) * 2002-10-22 2009-10-13 Sun Microsystems, Inc. System and method for marking software code
US20050193378A1 (en) * 2004-03-01 2005-09-01 Breault Richard E. System and method for building an executable program with a low probability of failure on demand
JP4079923B2 (ja) * 2004-07-26 2008-04-23 エヌイーシーコンピュータテクノ株式会社 ベクトル処理装置、情報処理装置、および、ベクトル処理方法
JP4783005B2 (ja) * 2004-11-25 2011-09-28 パナソニック株式会社 プログラム変換装置、プログラム変換実行装置およびプログラム変換方法、プログラム変換実行方法。
JP2008158806A (ja) * 2006-12-22 2008-07-10 Matsushita Electric Ind Co Ltd 複数プロセッサエレメントを備えるプロセッサ用プログラム及びそのプログラムの生成方法及び生成装置
JP2008305337A (ja) * 2007-06-11 2008-12-18 Panasonic Corp プログラム変換装置、プログラム変換方法、プログラム、記憶媒体、デバッグ装置、デバッグ方法及びプログラム開発システム
US8645933B2 (en) * 2008-08-01 2014-02-04 Leon Schwartz Method and apparatus for detection and optimization of presumably parallel program regions
US8230410B2 (en) * 2009-10-26 2012-07-24 International Business Machines Corporation Utilizing a bidding model in a microparallel processor architecture to allocate additional registers and execution units for short to intermediate stretches of code identified as opportunities for microparallelization
EP3117308B1 (en) * 2014-03-11 2020-02-19 IEX Group, Inc. Systems and methods for data synchronization and failover management
JP7184096B2 (ja) 2019-01-09 2022-12-06 日本電気株式会社 検証装置、秘密計算検証システム、秘密計算実行コードの検証方法及びプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667290A (en) * 1984-09-10 1987-05-19 501 Philon, Inc. Compilers using a universal intermediate language
US5021947A (en) * 1986-03-31 1991-06-04 Hughes Aircraft Company Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing
JPS6420462A (en) * 1987-07-15 1989-01-24 Toshiba Corp Repair supporting device for substrate
JPS6448170A (en) * 1987-08-19 1989-02-22 Fujitsu Ltd Vector data processing method
JPH01108638A (ja) * 1987-10-21 1989-04-25 Hitachi Ltd 並列化コンパイル方式
US4885684A (en) * 1987-12-07 1989-12-05 International Business Machines Corporation Method for compiling a master task definition data set for defining the logical data flow of a distributed processing network
JP2738692B2 (ja) * 1988-01-29 1998-04-08 株式会社日立製作所 並列化コンパイル方法
CA1319757C (en) * 1988-07-29 1993-06-29 Digital Equipment Corporation Echelon method for execution of nested loops in multiple processor computers
US4914584A (en) * 1988-10-17 1990-04-03 Gibson Glenn A Rules and apparatus for an intermediate code memory that buffers code segments
JP2834171B2 (ja) * 1989-02-06 1998-12-09 株式会社日立製作所 コンパイル方法
JP3039953B2 (ja) * 1989-04-28 2000-05-08 株式会社日立製作所 並列化装置
JPH03126133A (ja) * 1989-10-11 1991-05-29 Matsushita Electric Ind Co Ltd コンパイラ処理方法
JPH04211830A (ja) * 1990-02-05 1992-08-03 Matsushita Electric Ind Co Ltd 並列化コンパイル方式
JPH0475139A (ja) * 1990-07-18 1992-03-10 Toshiba Corp ループ並列化装置
WO1992022029A1 (en) * 1991-05-24 1992-12-10 British Technology Group Usa, Inc. Optimizing compiler for computers
US5293631A (en) * 1991-08-06 1994-03-08 Hewlett-Packard Company Analysis and optimization of array variables in compiler for instruction level parallel processor
US5278986A (en) * 1991-12-13 1994-01-11 Thinking Machines Corporation System and method for compiling a source code supporting data parallel variables

Also Published As

Publication number Publication date
JPH0535772A (ja) 1993-02-12
US5598561A (en) 1997-01-28

Similar Documents

Publication Publication Date Title
JP2921190B2 (ja) 並列実行方式
JP4077252B2 (ja) コンパイラプログラムおよびコンパイル処理方法
US5835776A (en) Method and apparatus for instruction scheduling in an optimizing compiler for minimizing overhead instructions
JP4339907B2 (ja) マルチプロセッサ向け最適コード生成方法及びコンパイル装置
JP3311462B2 (ja) コンパイル処理装置
EP0843257B1 (en) Improved code optimiser for pipelined computers
US8336038B2 (en) System and method for parallel execution of a program
JPH0814817B2 (ja) 自動ベクトル化方法
US6892380B2 (en) Method for software pipelining of irregular conditional control loops
JP2001167060A (ja) タスク並列化方法
JP2818016B2 (ja) プロセス並列実行方法および装置
JP3651774B2 (ja) コンパイラ及びそのレジスタ割付方法
JPH07110800A (ja) 最適化並列コンパイル装置及び最適化並列コンパイル方法
US20170206068A1 (en) Program optimization based on directives for intermediate code
JP4462676B2 (ja) プログラム変換装置、コンパイラ装置およびプログラム変換プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH04293150A (ja) コンパイル方法
Dewald et al. Improving Loop Parallelization by a Combination of Static and Dynamic Analyses in HLS
JP2000020482A (ja) ループ並列化方法
JP2007108838A (ja) コンパイル方法及びコンパイル装置
JP4084374B2 (ja) ループ並列化方法及びコンパイル装置
JP3551352B2 (ja) ループ分割方法
JP2870218B2 (ja) 並列実行命令列生成方式
JP3734658B2 (ja) コンパイラ装置およびコンパイラプログラムを記録したコンピュータ読取可能な記録媒体
JP2518504B2 (ja) 目的プログラム生成装置
JP2865694B2 (ja) コンパイル方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990330