JP2638278B2 - コンパイル処理方式 - Google Patents
コンパイル処理方式Info
- Publication number
- JP2638278B2 JP2638278B2 JP2258624A JP25862490A JP2638278B2 JP 2638278 B2 JP2638278 B2 JP 2638278B2 JP 2258624 A JP2258624 A JP 2258624A JP 25862490 A JP25862490 A JP 25862490A JP 2638278 B2 JP2638278 B2 JP 2638278B2
- Authority
- JP
- Japan
- Prior art keywords
- source program
- identification code
- unit
- optimization
- 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 - Fee Related
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 〔概要〕 最適化のコンパイル処理を実行して、ソースプログラ
ムに対応するオブジェクトを生成して出力するコンパイ
ル処理方式に関し、 ソースプログラムのチューニングを効率的に実行でき
るようにすることを目的とし、 最適化実行部が、少なくとも、ソースプログラムに外
部手続きが記述されるときには、その外部手続きをイン
ライン展開するとともに、その実行先のソースプログラ
ム部分にその旨の識別符号を付与しつつソースプログラ
ムを受け渡すインライン展開処理部と、ソースプログラ
ムに並列化可能な演算記述が記述されるときには、その
演算記述を並列化するとともに、その実行先のソースプ
ログラム部分にその旨の識別符号を付与しつつソースプ
ログラムを受け渡す並列化処理部と、ソースプログラム
にベクトル化可能な演算記述が記述されるときには、そ
の演算記述をベクトル化するとともに、その実行先のソ
ースプログラム部分にその旨の識別符号を付与しつつソ
ースプログラムを受け渡すベクトル化処理部と、ソース
プログラムにDO文が記述されるときには、そのDO文に対
してループアンローリング処理を実行するとともに、そ
の実行先のソースプログラム部分にループアンローリン
グの展開数を表示する識別符号を付与しつつソースプロ
グラムを受け渡すアンローリング処理部とを備える構成
を採り、かつ、最適化実行部からソースプログラムを受
け取り、ソースプログラムに付与される識別符号を最適
化処理のレベル順に並べつつソースプログラムにマージ
してから、ソースプログラムを外部に出力する出力部を
備えるよう構成する。
ムに対応するオブジェクトを生成して出力するコンパイ
ル処理方式に関し、 ソースプログラムのチューニングを効率的に実行でき
るようにすることを目的とし、 最適化実行部が、少なくとも、ソースプログラムに外
部手続きが記述されるときには、その外部手続きをイン
ライン展開するとともに、その実行先のソースプログラ
ム部分にその旨の識別符号を付与しつつソースプログラ
ムを受け渡すインライン展開処理部と、ソースプログラ
ムに並列化可能な演算記述が記述されるときには、その
演算記述を並列化するとともに、その実行先のソースプ
ログラム部分にその旨の識別符号を付与しつつソースプ
ログラムを受け渡す並列化処理部と、ソースプログラム
にベクトル化可能な演算記述が記述されるときには、そ
の演算記述をベクトル化するとともに、その実行先のソ
ースプログラム部分にその旨の識別符号を付与しつつソ
ースプログラムを受け渡すベクトル化処理部と、ソース
プログラムにDO文が記述されるときには、そのDO文に対
してループアンローリング処理を実行するとともに、そ
の実行先のソースプログラム部分にループアンローリン
グの展開数を表示する識別符号を付与しつつソースプロ
グラムを受け渡すアンローリング処理部とを備える構成
を採り、かつ、最適化実行部からソースプログラムを受
け取り、ソースプログラムに付与される識別符号を最適
化処理のレベル順に並べつつソースプログラムにマージ
してから、ソースプログラムを外部に出力する出力部を
備えるよう構成する。
本発明は、最適化のコンパイル処理を実行して、ソー
スプログラムに対応するオブジェクトを生成して出力す
るコンパイル処理方式に関し、特に、ソースプログラム
のチューニングを効率的に実行できるようにするコンパ
イル処理方式に関するものである。
スプログラムに対応するオブジェクトを生成して出力す
るコンパイル処理方式に関し、特に、ソースプログラム
のチューニングを効率的に実行できるようにするコンパ
イル処理方式に関するものである。
ユーザは、プログラムを作成していくときに、プログ
ラムの実行を高速で行えるようにするために、より少な
い命令数のオブジェクトが生成されることになるべくプ
ログラム記述をチューニングしていくことになる。これ
から、このチューニング処理の負荷が低減していけるよ
うな手段を構築していく必要があるのである。
ラムの実行を高速で行えるようにするために、より少な
い命令数のオブジェクトが生成されることになるべくプ
ログラム記述をチューニングしていくことになる。これ
から、このチューニング処理の負荷が低減していけるよ
うな手段を構築していく必要があるのである。
最近のコンパイルでは、ユーザにより作成されたソー
スプログラムをそのままコンパイルしていくのではなく
て、より少ない命令数のオブジェクトが生成されること
になるようにと、プログラム記述を変更して最適化して
いく構成が採られている。そして、ベクトル演算が可能
な場合には、ソースプログラムをベクトル化していくと
ともに、計算機システムが複数台の計算機による並列実
行構成を採る場合には、ソースプログラムを並列化して
いく構成が採られている。
スプログラムをそのままコンパイルしていくのではなく
て、より少ない命令数のオブジェクトが生成されること
になるようにと、プログラム記述を変更して最適化して
いく構成が採られている。そして、ベクトル演算が可能
な場合には、ソースプログラムをベクトル化していくと
ともに、計算機システムが複数台の計算機による並列実
行構成を採る場合には、ソースプログラムを並列化して
いく構成が採られている。
このような最適化処理の実行の構成を採る場合にあっ
ても、従来のコンパイラでは、ソースプログラムに施し
た最適化処理を表示していくという構成を採っていなか
った。
ても、従来のコンパイラでは、ソースプログラムに施し
た最適化処理を表示していくという構成を採っていなか
った。
これから、従来のコンパイラを用いていると、ユーザ
は、自らが作成したソースプログラムに対してどのよう
な最適化処理が施されたのかが分からないために、必要
のないチューニング処理を行うことがあるという問題点
があった。また、デバッグの処理効率も低下させられて
しまうことになるという問題点もあったのである。
は、自らが作成したソースプログラムに対してどのよう
な最適化処理が施されたのかが分からないために、必要
のないチューニング処理を行うことがあるという問題点
があった。また、デバッグの処理効率も低下させられて
しまうことになるという問題点もあったのである。
本発明はかかる事情に鑑みてなされたものであって、
ソースプログラムのチューニングを効率的に実行できる
ようにする新たなコンパイル処理方式の提供を目的とす
るものである。
ソースプログラムのチューニングを効率的に実行できる
ようにする新たなコンパイル処理方式の提供を目的とす
るものである。
この目的を達成するために、本発明では、コンパイル
の最適化処理を実行する最適化実行部を備えて、その最
適化実行部に従ってコンパイル処理を実行して、ソース
プログラムに対応するオブジェクトを生成して出力する
コンパイル処理方式において、 最適化実行部が、少なくとも、 ソースプログラムに外部手続きが記述されるときに
は、その外部手続きをインライン展開するとともに、そ
の実行先のソースプログラム部分にその旨の識別符号を
付与しつつソースプログラムを受け渡すインライン展開
処理部と、 ソースプログラムに並列化可能な演算記述が記述され
るときには、その演算記述を並列化するとともに、その
実行先のソースプログラム部分にその旨の識別符号を付
与しつつソースプログラムを受け渡す並列化処理部と、 ソースプログラムにベクトル化可能な演算記述が記述
されるときには、その演算記述をベクトル化するととも
に、その実行先のソースプログラム部分にその旨の識別
符号を付与しつつソースプログラムを受け渡すベクトル
化処理部と、 ソースプログラムにDO文が記述されるときには、その
DO文に対してループアンローリング処理を実行するとと
もに、その実行先のソースプログラム部分にループアン
ローリングの展開数を表示する識別符号を付与しつつソ
ースプログラムを受け渡すアンローリング処理部とを備
える構成を採り、 かつ、最適化実行部からソースプログラムを受け取
り、ソースプログラムに付与される識別符号を最適化処
理のレベル順(最適化処理の優先順序の順)に並べつつ
ソースプログラムにマージしてから、ソースプログラム
を外部に出力する出力部を備えるよう構成する。
の最適化処理を実行する最適化実行部を備えて、その最
適化実行部に従ってコンパイル処理を実行して、ソース
プログラムに対応するオブジェクトを生成して出力する
コンパイル処理方式において、 最適化実行部が、少なくとも、 ソースプログラムに外部手続きが記述されるときに
は、その外部手続きをインライン展開するとともに、そ
の実行先のソースプログラム部分にその旨の識別符号を
付与しつつソースプログラムを受け渡すインライン展開
処理部と、 ソースプログラムに並列化可能な演算記述が記述され
るときには、その演算記述を並列化するとともに、その
実行先のソースプログラム部分にその旨の識別符号を付
与しつつソースプログラムを受け渡す並列化処理部と、 ソースプログラムにベクトル化可能な演算記述が記述
されるときには、その演算記述をベクトル化するととも
に、その実行先のソースプログラム部分にその旨の識別
符号を付与しつつソースプログラムを受け渡すベクトル
化処理部と、 ソースプログラムにDO文が記述されるときには、その
DO文に対してループアンローリング処理を実行するとと
もに、その実行先のソースプログラム部分にループアン
ローリングの展開数を表示する識別符号を付与しつつソ
ースプログラムを受け渡すアンローリング処理部とを備
える構成を採り、 かつ、最適化実行部からソースプログラムを受け取
り、ソースプログラムに付与される識別符号を最適化処
理のレベル順(最適化処理の優先順序の順)に並べつつ
ソースプログラムにマージしてから、ソースプログラム
を外部に出力する出力部を備えるよう構成する。
本発明では、コンパイルの最適化処理を実行する最適
化実行部は、ソースプログラムに記述される外部手続き
をインライン展開するときには、その実行先のソースプ
ログラム部分にその旨の識別符号を付与し、ソースプロ
グラムに記述される演算記述を並列化するときには、そ
の実行先のソースプログラム部分にその旨の識別符号を
付与し、ソースプログラムに記述される演算記述をベク
トル化するときには、その実行先のソースプログラム部
分にその旨の識別符号を付与し、ソースプログラムに記
述されるDO文に対してループアンローリング処理を実行
するときには、その実行先のソースプログラム部分にル
ープアンローリングの展開数を表示する識別符号を付与
する。
化実行部は、ソースプログラムに記述される外部手続き
をインライン展開するときには、その実行先のソースプ
ログラム部分にその旨の識別符号を付与し、ソースプロ
グラムに記述される演算記述を並列化するときには、そ
の実行先のソースプログラム部分にその旨の識別符号を
付与し、ソースプログラムに記述される演算記述をベク
トル化するときには、その実行先のソースプログラム部
分にその旨の識別符号を付与し、ソースプログラムに記
述されるDO文に対してループアンローリング処理を実行
するときには、その実行先のソースプログラム部分にル
ープアンローリングの展開数を表示する識別符号を付与
する。
この最適化実行部による識別符号の付与を受けて、出
力部は、最適化実行部からソースプログラムを受け取る
ときに、ソースプログラムに付与される識別符号を最適
化処理のレベル順(最適化処理の優先順序の順)に並べ
つつソースプログラムにマージしてから、ソースプログ
ラムを外部に出力する。
力部は、最適化実行部からソースプログラムを受け取る
ときに、ソースプログラムに付与される識別符号を最適
化処理のレベル順(最適化処理の優先順序の順)に並べ
つつソースプログラムにマージしてから、ソースプログ
ラムを外部に出力する。
このようにして、本発明によれば、ユーザは、自らが
作成したソースプログラムに対して、どのような最適化
のコンパイル処理が施されたのかが分かるようになるこ
とから、不必要なチューニングを行うことがなくなると
ともに、デバッグ処理を効率的に行えるようになる。
作成したソースプログラムに対して、どのような最適化
のコンパイル処理が施されたのかが分かるようになるこ
とから、不必要なチューニングを行うことがなくなると
ともに、デバッグ処理を効率的に行えるようになる。
以下、実施例に従って本発明を詳細に説明する。
具体的な実施例の説明に先立って、第1図に示す本発
明の原理構成図に従って、本発明の概要を説明する。
明の原理構成図に従って、本発明の概要を説明する。
第1図中、1は本発明を具備するデータ処理装置であ
って、ソースプログラムを対応のオブジェクトにコンパ
イルするもの、2はデータ処理装置1によりコンパイル
されるソースプログラム、3はデータ処理装置1により
生成されるオブジェクト、4はデータ処理装置1により
出力される出力ソースであって、コンパイル処理の対象
となったソースプログラムである。
って、ソースプログラムを対応のオブジェクトにコンパ
イルするもの、2はデータ処理装置1によりコンパイル
されるソースプログラム、3はデータ処理装置1により
生成されるオブジェクト、4はデータ処理装置1により
出力される出力ソースであって、コンパイル処理の対象
となったソースプログラムである。
データ処理装置1は、ソースプログラム2の入力を受
け付けるとともに、ソース解析や構文解析等の解析処理
を実行するフロントエンド部10と、外部手続きのインラ
イン展開処理や、並列化処理や、ベクトル化処理や、ル
ープアンローリング処理等の各種の最適化のコンパイル
処理を実行するミドルパス部20と、レジスタの割付処理
や、コード生成処理や、出力ソース4の出力処理等を実
行するバックエンド部30とを備えるよう構成される。
け付けるとともに、ソース解析や構文解析等の解析処理
を実行するフロントエンド部10と、外部手続きのインラ
イン展開処理や、並列化処理や、ベクトル化処理や、ル
ープアンローリング処理等の各種の最適化のコンパイル
処理を実行するミドルパス部20と、レジスタの割付処理
や、コード生成処理や、出力ソース4の出力処理等を実
行するバックエンド部30とを備えるよう構成される。
そして、このバックエンド部30は、出力ソース4の出
力処理を司る出力部31を備える構成を採っている。
力処理を司る出力部31を備える構成を採っている。
このように構成される本発明では、出力部31は、出力
ソース4を出力していくときに、ソースプログラム2の
各文に施された最適化処理の種別情報を、出力ソース4
の各文にマージして出力していくとともに、このマージ
処理にあって、その種別情報を、例えば、ループアンロ
ーリング等の一般最適化処理の識別符号を最下位の位置
に、ベクトル化処理の識別符号をその上位の位置に、並
列化処理の識別符号をその上位である最上位の位置とい
うようにレベル順に並べて出力していくように処理す
る。
ソース4を出力していくときに、ソースプログラム2の
各文に施された最適化処理の種別情報を、出力ソース4
の各文にマージして出力していくとともに、このマージ
処理にあって、その種別情報を、例えば、ループアンロ
ーリング等の一般最適化処理の識別符号を最下位の位置
に、ベクトル化処理の識別符号をその上位の位置に、並
列化処理の識別符号をその上位である最上位の位置とい
うようにレベル順に並べて出力していくように処理す
る。
これから、ユーザは、自らが作成したソースプログラ
ム2に対して、どのような最適化のコンパイル処理が施
されたのかが分かるようになることから、不必要なチュ
ーニングを行うことがなくなるとともに、デバッグ処理
を効率的に行えるようになる。
ム2に対して、どのような最適化のコンパイル処理が施
されたのかが分かるようになることから、不必要なチュ
ーニングを行うことがなくなるとともに、デバッグ処理
を効率的に行えるようになる。
次に、具体的な実施例に従って本発明を詳細に説明す
る。
る。
第2図に、本発明の一実施例を図示する。図中、第1
図で説明したものと同じものについては同一の記号で示
してある。
図で説明したものと同じものについては同一の記号で示
してある。
11はフロントエンド部10の備えるプログラム入力部で
あって、ソースプログラム2の入力を受け付けるもの、
12はフロントエンド部10の備える解析部であって、ソー
ス種別の解析処理や構文解析を実行するものである。
あって、ソースプログラム2の入力を受け付けるもの、
12はフロントエンド部10の備える解析部であって、ソー
ス種別の解析処理や構文解析を実行するものである。
21はミドルパス部20の備えるインライン展開認識処理
部であって、ソースプログラム2に記述される外部手続
きを認識して、それのインライン展開処理を実行するも
の、22はミドルパス部20の備える並列化認識処理部であ
って、ソースプログラム2中の並列化の可能となる演算
記述を認識して、その並列化処理を実行するもの、23は
ミドルパス部20の備えるベクトル化認識処理部であっ
て、ソースプログラム2に記述されるベクトル化の可能
な演算記述を認識して、そのベクトル化処理を実行する
もの、24はアンローリング認識処理部であって、ソース
プログラム2に記述されるDO文を認識して、それのルー
プアンローリング処理を実行するものである。
部であって、ソースプログラム2に記述される外部手続
きを認識して、それのインライン展開処理を実行するも
の、22はミドルパス部20の備える並列化認識処理部であ
って、ソースプログラム2中の並列化の可能となる演算
記述を認識して、その並列化処理を実行するもの、23は
ミドルパス部20の備えるベクトル化認識処理部であっ
て、ソースプログラム2に記述されるベクトル化の可能
な演算記述を認識して、そのベクトル化処理を実行する
もの、24はアンローリング認識処理部であって、ソース
プログラム2に記述されるDO文を認識して、それのルー
プアンローリング処理を実行するものである。
31aはバックエンド部30の備える最適化情報出力部で
あって、出力ソース4の出力処理を実行するもの、32は
バックエンド部30の備えるオブジェクト生成部であっ
て、ミドルパス部20によりコンパイルされたソースプロ
グラム2に対応するオブジェクト3を生成して出力する
ものである。
あって、出力ソース4の出力処理を実行するもの、32は
バックエンド部30の備えるオブジェクト生成部であっ
て、ミドルパス部20によりコンパイルされたソースプロ
グラム2に対応するオブジェクト3を生成して出力する
ものである。
次に、第3図に示す本発明の実行するフローチャート
に従って、本発明の動作処理について詳細に説明する。
に従って、本発明の動作処理について詳細に説明する。
インライン展開認識処理部21は、ソースプログラム2
中の外部手続き記述を認識すると、呼び出しのための命
令列を少なくするためにその外部手続きをインライン展
開することになるが、このとき、ステップ1で示すよう
に、インライン展開処理を施した文に対して“I"という
識別符号を付与していく。
中の外部手続き記述を認識すると、呼び出しのための命
令列を少なくするためにその外部手続きをインライン展
開することになるが、このとき、ステップ1で示すよう
に、インライン展開処理を施した文に対して“I"という
識別符号を付与していく。
次に、並列化認識処理部22は、ソースプログラム2中
の演算記述に複数台の計算機でもって並列実行できる演
算記述が存在することを認識すると、高速実行を実現す
るためにその演算記述を並列化処理することになるが、
このとき、ステップ2で示すように、並列化処理を施し
た文に対して“P"という識別符号を付与していく。
の演算記述に複数台の計算機でもって並列実行できる演
算記述が存在することを認識すると、高速実行を実現す
るためにその演算記述を並列化処理することになるが、
このとき、ステップ2で示すように、並列化処理を施し
た文に対して“P"という識別符号を付与していく。
続いて、ベクトル化認識処理部23は、ソースプログラ
ム2中の演算記述にベクトル演算の可能となる演算記述
の存在することを認識すると、高速実行を実現するため
にその演算記述をベクトル化処理することになるが、こ
のとき、ステップ3で示すように、ベクトル化処理を施
した文に対して“V"という識別符号を付与していくとと
もに、ベクトル演算とスカラ演算とが混在している文に
対して“M"という識別符号を付与し、スカラ演算の文に
対しては“S"という識別符号を付与していく。なお、ベ
クトル化解析のなされなかった文に対しては空白を設定
していく。
ム2中の演算記述にベクトル演算の可能となる演算記述
の存在することを認識すると、高速実行を実現するため
にその演算記述をベクトル化処理することになるが、こ
のとき、ステップ3で示すように、ベクトル化処理を施
した文に対して“V"という識別符号を付与していくとと
もに、ベクトル演算とスカラ演算とが混在している文に
対して“M"という識別符号を付与し、スカラ演算の文に
対しては“S"という識別符号を付与していく。なお、ベ
クトル化解析のなされなかった文に対しては空白を設定
していく。
続いて、アンローリング認識処理部24は、ソースプロ
グラム2中のDO文を認識すると、DO文のループ回数を減
らすためにループアンローリング処理することになる
が、このとき、ステップ4で示すように、ループアンロ
ーリング処理を施し文に対してそのループアンローリン
グの展開回数“n"を付与していく。
グラム2中のDO文を認識すると、DO文のループ回数を減
らすためにループアンローリング処理することになる
が、このとき、ステップ4で示すように、ループアンロ
ーリング処理を施し文に対してそのループアンローリン
グの展開回数“n"を付与していく。
このようにして、ソースプログラム2の各文に施され
た最適化処理情報を受け取ると、最適化情報出力部31a
は、出力ソース4を出力していくときに、ステップ5で
示すように、出力ソース4の各文に対してこの最適化情
報をマージして出力していくよう処理する。このとき、
最適化情報出力部31aは、ループアンローリングの展開
回数“n"とインライン展開処理の“I"の識別符号とから
なるOのインデクスを最下位位置に配置し、ベクトル化
処理の“V"等の識別符号を中間位置に配置し、並列化処
理の“P"の識別符号を最上位位置に配置して出力してい
くように処理する。
た最適化処理情報を受け取ると、最適化情報出力部31a
は、出力ソース4を出力していくときに、ステップ5で
示すように、出力ソース4の各文に対してこの最適化情
報をマージして出力していくよう処理する。このとき、
最適化情報出力部31aは、ループアンローリングの展開
回数“n"とインライン展開処理の“I"の識別符号とから
なるOのインデクスを最下位位置に配置し、ベクトル化
処理の“V"等の識別符号を中間位置に配置し、並列化処
理の“P"の識別符号を最上位位置に配置して出力してい
くように処理する。
第4図及び第5図に、最適化情報出力部31aの出力す
る出力ソース4の一例を図示する。第4図に示す出力ソ
ース4では、外部手続きが記述されていないことに対応
して、“I"の識別符号が出力されないのに対して、第5
図に示す出力ソース4では、外部手続きが記述されてい
ることに対応して、“I"の識別符号が出力されることに
なる。これらの出力ソース4の例に見られるように、本
発明によれば、ユーザは、ソースプログラム2に対し
て、どのような最適化のコンパイル処理が施されたのか
が、そのレベル順に従って一目で分かるようになるので
ある。
る出力ソース4の一例を図示する。第4図に示す出力ソ
ース4では、外部手続きが記述されていないことに対応
して、“I"の識別符号が出力されないのに対して、第5
図に示す出力ソース4では、外部手続きが記述されてい
ることに対応して、“I"の識別符号が出力されることに
なる。これらの出力ソース4の例に見られるように、本
発明によれば、ユーザは、ソースプログラム2に対し
て、どのような最適化のコンパイル処理が施されたのか
が、そのレベル順に従って一目で分かるようになるので
ある。
以上説明したように、本発明によれば、ユーザは、自
らが作成したソースプログラム2に対して、どのような
最適化のコンパイル処理が施されたのかが分かるように
なることから、ソースプログラムに対して不必要なチュ
ーニングを行うことがなくなるとともに、デバッグ処理
を効率的に行えるようになるのである。
らが作成したソースプログラム2に対して、どのような
最適化のコンパイル処理が施されたのかが分かるように
なることから、ソースプログラムに対して不必要なチュ
ーニングを行うことがなくなるとともに、デバッグ処理
を効率的に行えるようになるのである。
第1図は本発明の原理構成図、 第2図は本発明の一実施例、 第3図は本発明の実行するフローチャート、 第4図及び第5図は本発明の出力ソースの説明図であ
る。 図中、1はデータ処理装置、2はソースプログラム、3
はオブジェクト、4は出力ソース、10はフロントエンド
部、20はミドルパス部、30はバックエンド部、31は出力
部である。
る。 図中、1はデータ処理装置、2はソースプログラム、3
はオブジェクト、4は出力ソース、10はフロントエンド
部、20はミドルパス部、30はバックエンド部、31は出力
部である。
Claims (1)
- 【請求項1】コンパイルの最適化処理を実行する最適化
実行部を備えて、該最適化実行部に従ってコンパイル処
理を実行して、ソースプログラムに対応するオブジェク
トを生成して出力するコンパイル処理方式において、 上記最適化実行部が、少なくとも、 ソースプログラムに外部手続きが記述されるときには、
該外部手続きをインライン展開するとともに、その実行
先のソースプログラム部分にその旨の識別符号を付与し
つつソースプログラムを受け渡すインライン展開処理部
と、 ソースプログラムに並列化可能な演算記述が記述される
ときには、該演算記述を並列化するとともに、その実行
先のソースプログラム部分にその旨の識別符号を付与し
つつソースプログラムを受け渡す並列化処理部と、 ソースプログラムにベクトル化可能な演算記述が記述さ
れるときには、該演算記述をベクトル化するとともに、
その実行先のソースプログラム部分にその旨の識別符号
を付与しつつソースプログラムを受け渡すベクトル化処
理部と、 ソースプログラムにDO文が記述されるときには、該DO文
に対してループアンローリング処理を実行するととも
に、その実行先のソースプログラム部分にループアンロ
ーリングの展開数を表示する識別符号を付与しつつソー
スプログラムを受け渡すアンローリング処理部とを備え
る構成を採り、 かつ、上記最適化実行部からソースプログラムを受け取
り、該ソースプログラムに付与される識別符号を最適化
処理の優先順序と同一順序に並べつつ該ソースプログラ
ムにマージしてから、該ソースプログラムを外部に出力
する出力部を備えることを、 特徴とするコンパイル処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2258624A JP2638278B2 (ja) | 1990-09-27 | 1990-09-27 | コンパイル処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2258624A JP2638278B2 (ja) | 1990-09-27 | 1990-09-27 | コンパイル処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04135244A JPH04135244A (ja) | 1992-05-08 |
JP2638278B2 true JP2638278B2 (ja) | 1997-08-06 |
Family
ID=17322863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2258624A Expired - Fee Related JP2638278B2 (ja) | 1990-09-27 | 1990-09-27 | コンパイル処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2638278B2 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59197964A (ja) * | 1983-03-31 | 1984-11-09 | Fujitsu Ltd | ベクトル化解析情報付ソ−ス・リスト出力方式 |
-
1990
- 1990-09-27 JP JP2258624A patent/JP2638278B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04135244A (ja) | 1992-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3190773B2 (ja) | 言語処理プログラムのコンパイル処理方法 | |
JP3280449B2 (ja) | コンパイル装置 | |
JP3896087B2 (ja) | コンパイラ装置およびコンパイル方法 | |
JP4822817B2 (ja) | コンパイルシステム | |
JP2738692B2 (ja) | 並列化コンパイル方法 | |
US7917899B2 (en) | Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus | |
US20020083423A1 (en) | List scheduling algorithm for a cycle-driven instruction scheduler | |
CA2081473A1 (en) | Analyzing inductive expressions in a multilanguage optimizing compiler | |
JP2638278B2 (ja) | コンパイル処理方式 | |
US7487496B2 (en) | Computer program functional partitioning method for heterogeneous multi-processing systems | |
JP2956591B2 (ja) | ループ外への条件付き飛び出しがあるループの並列化方法及び装置 | |
EP0244928A1 (en) | Improvements relating to control flow in computers | |
JPH09160784A (ja) | 並列化コンパイル方式 | |
JP2865694B2 (ja) | コンパイル方法 | |
CN118092931A (zh) | 基于指导语句的函数向量化方法及系统 | |
Louden et al. | Compilers and Interpreters. | |
JPH03257579A (ja) | コンパイラの並列化方式 | |
JPH05257708A (ja) | コンパイラ | |
JPH02132525A (ja) | コンパイル方法 | |
JPH0425969A (ja) | If文下定義配列ベクトル化コンパイル方式 | |
JPH05324346A (ja) | ベクトル化方式 | |
JPH06348505A (ja) | コンパイル方法 | |
JPH04184540A (ja) | 並列化コンパイル方式 | |
JPH0561687A (ja) | コンパイラの処理方式 | |
JPH02109135A (ja) | Do形並び入力変換方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080425 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |