JP2007272672A - コンパイル最適化方法およびコンパイラ - Google Patents
コンパイル最適化方法およびコンパイラ Download PDFInfo
- Publication number
- JP2007272672A JP2007272672A JP2006099072A JP2006099072A JP2007272672A JP 2007272672 A JP2007272672 A JP 2007272672A JP 2006099072 A JP2006099072 A JP 2006099072A JP 2006099072 A JP2006099072 A JP 2006099072A JP 2007272672 A JP2007272672 A JP 2007272672A
- Authority
- JP
- Japan
- Prior art keywords
- list
- sequence
- array
- registering
- buffer
- 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
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】ソースプログラムから、複数の要素情報を保持することが可能なバッファ領域を持つシステムに適合した実行コードを生成するコンパイラは、配列参照リスト104と、バッファ割り当てリスト105と、中間コードから配列参照を検出し、検出された配列参照を配列参照情報として配列参照リスト104に登録する配列参照検出部101と、配列参照リストに登録された配列参照情報に基づき、2回以上参照されている配列を抽出してバッファ割り当てリスト105に登録する参照回数解析部102と、バッファ割り当てリスト105に登録された配列に関し、中間コードにおいてその配列へのメモリアクセスをバッファアクセスに変換するメモリアクセス最適化部103と、を有する。
【選択図】図1
Description
2 最適化部
3 コード生成部
101,201 配列参照生成部
102 参照回数解析部
103,203 メモリアクセス最適化部
104,204 配列参照リスト
105 バッファ割り当てリスト
202 定義参照解析部
205 定義参照リスト
Claims (6)
- ソースプログラムから、複数の要素情報を保持することが可能なバッファ領域を持つシステムに適合した実行コードを生成するコンパイル最適化方法であって、
中間コードから配列参照を検出する段階と、
検出された配列参照を配列参照情報として第1のリストに登録する段階と、
前記第1のリストに登録された配列参照情報に基づき、配列に対する参照が特定の条件を満たしている配列を抽出して第2のリストに登録する段階と、
前記第2のリストに登録された配列に関し、前記中間コードにおいて当該配列へのメモリアクセスをバッファアクセスに変換する段階と、
を有する、コンパイル最適化方法。 - 前記第2のリストに登録する段階は、前記第1のリストに登録された配列参照情報に基づき、2回以上参照されている配列を抽出して前記第2のリストに登録する段階である、請求項1に記載のコンパイル最適化方法。
- 前記第2のリストに登録する段階は、前記第1のリストに登録された配列参照情報に基づき、当該配列の定義の直後に当該配列が参照されているような配列を抽出して前記第2のリストに登録する段階である、請求項1に記載のコンパイル最適化方法。
- ソースプログラムから、複数の要素情報を保持することが可能なバッファ領域を持つシステムに適合した実行コードを生成するコンパイラであって、
配列参照リストと、
バッファ割り当てリストと、
中間コードから配列参照を検出し、検出された配列参照を配列参照情報として前記配列参照リストに登録する配列参照検出手段と、
前記配列参照リストに登録された配列参照情報に基づき、2回以上参照されている配列を抽出して前記バッファ割り当てリストに登録する参照回数解析手段と、
前記バッファ割り当てリストに登録された配列に関し、前記中間コードにおいて当該配列へのメモリアクセスをバッファアクセスに変換するメモリアクセス最適化手段と、
を有するコンパイラ。 - ソースプログラムから、複数の要素情報を保持することが可能なバッファ領域を持つシステムに適合した実行コードを生成するコンパイラであって、
配列参照リストと、
定義参照リストと、
中間コードから配列参照を検出し、検出された配列参照を配列参照情報として前記配列参照リストに登録する配列参照検出手段と、
前記配列参照リストに登録された配列参照情報に基づき、配列の定義の直後に当該配列が参照されているような配列を抽出して定義参照リストに登録する定義参照解析手段と、
前記定義参照リストに登録された配列に関し、前記中間コードにおいて当該配列へのメモリアクセスをバッファアクセスに変換するメモリアクセス最適化手段と、
を有するコンパイラ。 - コンピュータに、ソースプログラムから、複数の要素情報を保持することが可能なバッファ領域を持つシステムに適合した実行コードを生成させる処理を実行させるプログラムであって、
中間コードから配列参照を検出する処理と、
検出された配列参照を配列参照情報として第1のリストに登録する処理と、
前記第1のリストに登録された配列参照情報に基づき、配列に対する参照が特定の条件を満たしている配列を抽出して第2のリストに登録する処理と、
前記第2のリストに登録された配列に関し、前記中間コードにおいて当該配列へのメモリアクセスをバッファアクセスに変換する処理と、
を前記コンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006099072A JP4788902B2 (ja) | 2006-03-31 | 2006-03-31 | コンパイル最適化方法およびコンパイラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006099072A JP4788902B2 (ja) | 2006-03-31 | 2006-03-31 | コンパイル最適化方法およびコンパイラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007272672A true JP2007272672A (ja) | 2007-10-18 |
JP4788902B2 JP4788902B2 (ja) | 2011-10-05 |
Family
ID=38675400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006099072A Expired - Fee Related JP4788902B2 (ja) | 2006-03-31 | 2006-03-31 | コンパイル最適化方法およびコンパイラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4788902B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011154523A (ja) * | 2010-01-27 | 2011-08-11 | Nec Corp | コンパイル方法、コンパイラおよびベクトル計算機 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6481035A (en) * | 1987-09-22 | 1989-03-27 | Nec Corp | C compiler |
JPH03119472A (ja) * | 1989-10-03 | 1991-05-21 | Nec Corp | ベクトルレジスタ割付け方式 |
JPH07105013A (ja) * | 1993-10-01 | 1995-04-21 | Nec Corp | レジスタ割り付け方式 |
JPH07141198A (ja) * | 1993-11-19 | 1995-06-02 | Hitachi Ltd | コンパイル最適化方法 |
-
2006
- 2006-03-31 JP JP2006099072A patent/JP4788902B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6481035A (en) * | 1987-09-22 | 1989-03-27 | Nec Corp | C compiler |
JPH03119472A (ja) * | 1989-10-03 | 1991-05-21 | Nec Corp | ベクトルレジスタ割付け方式 |
JPH07105013A (ja) * | 1993-10-01 | 1995-04-21 | Nec Corp | レジスタ割り付け方式 |
JPH07141198A (ja) * | 1993-11-19 | 1995-06-02 | Hitachi Ltd | コンパイル最適化方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011154523A (ja) * | 2010-01-27 | 2011-08-11 | Nec Corp | コンパイル方法、コンパイラおよびベクトル計算機 |
Also Published As
Publication number | Publication date |
---|---|
JP4788902B2 (ja) | 2011-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5848778B2 (ja) | Fsmを実装するための専用要素の利用 | |
JP2002149416A (ja) | プログラムの最適化方法及びこれを用いたコンパイラ | |
US20130139137A1 (en) | Systems and Methods for Customizing Optimization/Transformation/ Processing Strategies | |
US20040019770A1 (en) | Optimization apparatus, compiler program, optimization method and recording medium | |
JP4806060B2 (ja) | コンパイラ・プログラム、コンパイル方法及びコンピュータ・システム | |
JP2001167060A (ja) | タスク並列化方法 | |
JP5966509B2 (ja) | プログラム、コード生成方法および情報処理装置 | |
JP2010079894A (ja) | トレース操作の修正によるトレースのオーバーヘッドの削減 | |
US8266416B2 (en) | Dynamic reconfiguration supporting method, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system | |
US8291397B2 (en) | Compiler optimized function variants for use when return codes are ignored | |
JP6666554B2 (ja) | 情報処理装置、変換プログラム、及び変換方法 | |
Barnes et al. | Vacuum packing: Extracting hardware-detected program phases for post-link optimization | |
JP2006196002A (ja) | 非同期プログラムフローのモデリングを含むソフトウェアツール | |
JP5233355B2 (ja) | プロパティ生成システムおよびプロパティ検証システム | |
JP4788902B2 (ja) | コンパイル最適化方法およびコンパイラ | |
JP5278538B2 (ja) | コンパイルシステム、コンパイル方法およびコンパイルプログラム | |
JP2018124877A (ja) | コード生成装置、コード生成方法、およびコード生成プログラム | |
JP2004287844A (ja) | コンパイラ装置、コンパイラプログラム、記録媒体、及びコンパイル方法 | |
US9141414B2 (en) | Preferred compilation | |
JP7026563B2 (ja) | 高位合成方法、高位合成プログラム、高位合成装置 | |
JP2004265279A (ja) | コンパイラ装置、コンパイル方法、コンパイラプログラム、及び記録媒体 | |
JP3927510B2 (ja) | コンパイラ装置、コンパイラプログラム、記録媒体、及びコンパイル方法 | |
JP2009181558A (ja) | プログラム変換装置 | |
US20220405110A1 (en) | Non-transitory computer-readable recording medium and compilation method | |
JP5233354B2 (ja) | プロパティ検証システム、プロパティ検証方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100721 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110530 |
|
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: 20110622 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110705 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4788902 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |