JP4042972B2 - 最適化コンパイラ、コンパイラプログラム、及び記録媒体 - Google Patents
最適化コンパイラ、コンパイラプログラム、及び記録媒体 Download PDFInfo
- Publication number
- JP4042972B2 JP4042972B2 JP2003339666A JP2003339666A JP4042972B2 JP 4042972 B2 JP4042972 B2 JP 4042972B2 JP 2003339666 A JP2003339666 A JP 2003339666A JP 2003339666 A JP2003339666 A JP 2003339666A JP 4042972 B2 JP4042972 B2 JP 4042972B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- load instruction
- instruction
- empty
- assigned
- 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
Images
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/44—Encoding
- G06F8/443—Optimisation
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)
Description
本実施形態に係る最適化コンパイラ10は、検出した空きレジスタの集合を絞り込んで読出先変数に適切なレジスタを割り当てることにより、効率的にロード命令を最適化することを目的とする。
そして、部分冗長性除去手段130は、当該置き換え処理を行った結果の対象プログラムを、空きレジスタ検出手段140及び実行頻度取得手段150に送る。
(1)GEN集合
最適化コンパイラ10は、当該基本ブロックの実行開始位置から当該変数を最後に参照する命令の実行位置までの範囲で、レジスタ割当処理手段100により他の変数に割り当てられていないレジスタの集合をGEN集合として生成する。
(2)GEN’集合
最適化コンパイラ10は、ロード命令の実行位置から、当該基本ブロックの実行終了位置までの範囲で、レジスタ割当処理手段100により他の変数に割り当てられていないレジスタの集合をGEN’集合として生成する。
(3)KILL集合
最適化コンパイラ10は、当該基本ブロックの中で、レジスタ割当処理手段100により他の変数に割り当てられているレジスタの集合をKILL集合として生成する。
以降の説明において、第n基本ブロックにおけるGEN集合、GEN’集合、及びKILL集合を、それぞれGEN(n)、GEN’(n)、及びKILL(n)と表記する。
本数式において、第n基本ブロックの実行開始位置における空きレジスタの集合をBWD−REGin(n)と表記し、第n基本ブロックの実行終了位置における空きレジスタの集合をBWD−REGout(n)と表記する。
本数式において、第n基本ブロックの実行開始位置における空きレジスタの集合をFWD−REGin(n)と表記し、第n基本ブロックの実行終了位置における空きレジスタの集合をFWD−REGout(n)と表記する。
以上、本図で示すように、最適化コンパイラ10は、レジスタ割当処理によりレジスタに割当不能と判断された各変数を、レジスタ割当処理を終えてもなお変数を割り当てていないレジスタに割り当てることができる。これにより、スピルイン命令の実行回数を減らして、対象プログラム全体の実行を効率化することができる。
以上のようにして、最適化コンパイラ10は、変数Tを一貫してレジスタr1に割り当てることにより、(b)に示した対象プログラムを生成することができる。
(項目2) 前記後進方向レジスタ検出手段は、前記対象プログラムの終端から実行順序を遡る方向に空きレジスタの集合を示す情報を伝播させ、かつ反復解法によって空きレジスタの数が単調減少するデータフロー方程式として表される処理により、空きレジスタを検出する項目1記載の最適化コンパイラ。
(項目4) 変数をレジスタに割り当てるレジスタ割当処理手段と、前記レジスタ割当処理手段によりレジスタに割当不能と判断された各変数について、当該変数の値を使用する命令に先立って当該変数の値をメモリからロードするスピルイン命令を生成するスピルイン命令生成手段とを更に備え、前記部分冗長性除去手段は、前記ロード命令であるスピルイン命令に対して、前記部分冗長性の除去処理を行い、更に、当該スピルイン命令が読み出すデータを格納するレジスタを、当該最適化コンパイラ内で使用する変数に置き換え、前記空きレジスタ割当手段は、前記部分冗長性除去手段が置き換えた変数に、前記後進方向レジスタ検出手段により検出された前記空きレジスタを割り当てる項目1記載の最適化コンパイラ。
(項目5) 複数の前記レジスタには、変数を割り当てる優先順位が予め定められており、前記レジスタ割当処理手段は、変数を前記優先順位がより高いレジスタに優先して割り当て、前記使用命令から実行順序を遡ることにより前記ロード命令に到達する実行経路において空きレジスタが検出されない場合に、前記空きレジスタ割当手段は、前記ロード命令の実行位置における空きレジスタのうち前記優先順位が最も高いレジスタを、前記読出先変数に割り当て、当該最適化コンパイラは、前記ロード命令から前記使用命令に至る実行経路において、前記読出先変数に割り当てられたレジスタに他の変数のデータを代入する命令に先立って実行される実行位置に、前記優先順位が最も高い空きレジスタに前記読出先変数のデータをコピーする命令を生成するコピー命令生成手段と、前記使用命令が使用する変数に、当該コピー命令のコピー先であるレジスタを割り当てる使用命令レジスタ割当手段とを更に備える項目4記載の最適化コンパイラ。
(項目7) 最適化対象の対象プログラムにおいて、メモリからデータを読み出すロード命令を最適化する最適化コンパイラであって、少なくとも一部の変数がレジスタに割り当てられていない前記対象プログラムにおいて、メモリから変数にデータを読み出すロード命令に対して、当該変数がレジスタに割り当てられた場合にスピル処理を生じさせない部分冗長性の除去処理を行う部分冗長性除去手段と、前記ロード命令から実行順序を辿ることにより前記ロード命令が読み出すデータを使用する使用命令に到達する実行経路において、何れの変数にも割り当てられていない空きレジスタを検出する前進方向レジスタ検出手段と、前記ロード命令がデータを読み出す読出先変数に、前記前進方向レジスタ検出手段により検出された前記空きレジスタを割り当てる空きレジスタ割当手段とを備える最適化コンパイラ。
(項目8) 前記前進方向レジスタ検出手段は、前記対象プログラムの始点から実行順序を辿る方向に空きレジスタの集合を示す情報を伝播させ、かつ反復解法によって空きレジスタの数が単調減少するデータフロー方程式として表される処理により、空きレジスタを検出する項目7記載の最適化コンパイラ。
(項目10) 前記ロード命令から前記使用命令に至る実行経路において、前記読出先変数に割り当てられたレジスタに他の変数のデータを代入する命令に先立って実行される実行位置に、前記読出先変数のデータを前記実行頻度合計値が最も高い空きレジスタにコピーする命令を生成するコピー命令生成手段と、前記使用命令が使用する変数に、当該コピー命令のコピー先であるレジスタを割り当てる使用命令レジスタ割当手段とを更に備える項目9記載の最適化コンパイラ。
(項目11) 最適化対象の対象プログラムにおいて、メモリからデータを読み出すロード命令を最適化する最適化コンパイラとしてコンピュータを機能させるコンパイラプログラムであって、前記コンピュータを、少なくとも一部の変数がレジスタに割り当てられていない前記対象プログラムにおいて、メモリから変数にデータを読み出すロード命令に対して、当該変数がレジスタに割り当てられた場合にスピル処理を生じさせない部分冗長性の除去処理を行う部分冗長性除去手段と、前記ロード命令が読み出すデータを使用する使用命令から実行順序を遡ることにより前記ロード命令に到達する実行経路において、何れの変数にも割り当てられていない空きレジスタを検出する後進方向レジスタ検出手段と、前記ロード命令がデータを読み出す読出先変数に、前記後進方向レジスタ検出手段により検出された前記空きレジスタを割り当てる空きレジスタ割当手段として機能させるコンパイラプログラム。
(項目13) 最適化対象の対象プログラムにおいて、メモリからデータを読み出すロード命令を最適化する最適化コンパイラとしてコンピュータを機能させるコンパイラプログラムであって、前記コンピュータを、少なくとも一部の変数がレジスタに割り当てられていない前記対象プログラムにおいて、メモリから変数にデータを読み出すロード命令に対して、当該変数がレジスタに割り当てられた場合にスピル処理を生じさせない部分冗長性の除去処理を行う部分冗長性除去手段と、前記ロード命令が実行される実行頻度と、当該ロード命令により読み出されるデータを使用する使用命令が実行される実行頻度とを取得する実行頻度取得手段と、前記ロード命令及び前記使用命令のそれぞれが実行される実行位置において、何れの変数にも割り当てられていない空きレジスタの集合を検出する空きレジスタ検出手段と、前記ロード命令及び前記使用命令の実行頻度を、前記ロード命令又は前記使用命令の実行位置における空きレジスタ毎に合計した実行頻度合計値を算出する実行頻度合計値算出手段と、前記ロード命令の実行位置における前記空きレジスタのうち前記実行頻度合計値が最も高い前記空きレジスタを、前記ロード命令の読み出し先の読出先変数に割り当てる空きレジスタ割当手段として機能させるコンパイラプログラム。
(項目14) 項目11から項目13の何れかに記載のコンパイラプログラムを記録した記録媒体。
Claims (11)
- 最適化対象の対象プログラムにおいて、メモリからデータを読み出すロード命令を最適化するコンピュータであるコンパイラ装置であって、
少なくとも一部の変数がレジスタに割り当てられておらず、レジスタに割り当てられていない変数の値の使用に先立って当該変数の値をメモリからロードするロード命令を含む、プログラムを、前記対象プログラムとして記憶している記憶装置と、
前記対象プログラムの前記ロード命令を、少なくとも1つの空きレジスタが存在する範囲で移動させることで、当該ロード命令の部分冗長性を除去する処理を、前記コンピュータのCPUの制御により前記記憶装置にアクセスして行う部分冗長性除去手段と、
前記ロード命令が読み出すデータを使用する使用命令から実行順序を遡ることにより前記ロード命令に到達する実行経路において、何れの変数にも割り当てられていない空きレジスタを、前記CPUの制御により前記記憶装置にアクセスして検出する後進方向レジスタ検出手段と、
前記ロード命令がデータを読み出す読出先として、前記後進方向レジスタ検出手段により検出された前記空きレジスタを、前記CPUの制御により前記記憶装置にアクセスして割り当てる空きレジスタ割当手段と
を備えるコンパイラ装置。 - 前記後進方向レジスタ検出手段は、前記対象プログラムの終端から実行順序を遡る方向に空きレジスタの集合を示す情報を伝播させる処理により、空きレジスタを検出する
請求項1記載のコンパイラ装置。 - 前記使用命令から実行順序を遡ることにより前記ロード命令に到達する実行経路において一貫して利用可能な空きレジスタが検出されない場合に、前記空きレジスタ割当手段は、前記ロード命令がデータを読み出す読出先として、前記ロード命令の実行位置における空きレジスタの何れかを割り当て、
当該コンパイラ装置は、
前記記憶装置にアクセスして、前記読出先として割り当てられたレジスタに既に割り当てられていた既割当変数の、値の生存区間を前記CPUの制御により検出する生存区間検出手段と、
前記記憶装置にアクセスして、前記生存区間における空きレジスタである代替レジスタを前記CPUの制御により検出する代替レジスタ検出手段と、
前記記憶装置にアクセスして、前記既割当変数に割り当てられていたレジスタを、前記CPUの制御により前記代替レジスタに変更する割当レジスタ変更手段と
を更に備える請求項1記載のコンパイラ装置。 - 前記記憶装置にアクセスして、前記CPUの制御により変数をレジスタに割り当てるレジスタ割当処理手段と、
前記記憶装置にアクセスして、前記レジスタ割当処理手段によりレジスタに割当不能と判断された各変数について、当該変数の値を使用する命令に先立って当該変数の値をメモリからロードするスピルイン命令を前記CPUの制御により生成するスピルイン命令生成手段と
を更に備え、
前記部分冗長性除去手段は、前記ロード命令であるスピルイン命令に対して、前記部分冗長性の除去処理を行い、更に、当該スピルイン命令が読み出すデータの読出先を変数とし、
前記空きレジスタ割当手段は、当該スピルイン命令が読み出すデータの読出先の当該変数に、前記後進方向レジスタ検出手段により検出された前記空きレジスタを割り当てる
請求項1記載のコンパイラ装置。 - 前記ロード命令から実行順序を辿ることにより前記ロード命令が読み出すデータを使用する使用命令に到達する実行経路において、何れの変数にも割り当てられていない空きレジスタを、前記CPUの制御により前記記憶装置にアクセスして検出する前進方向レジスタ検出手段を更に備え、
前記空きレジスタ割当手段は、前記ロード命令がデータを読み出す読出先に、前記後進方向レジスタ検出手段及び前記前進方向レジスタ検出手段により共通して検出された空きレジスタを割り当てる
請求項1記載のコンパイラ装置。 - 最適化対象の対象プログラムにおいて、メモリからデータを読み出すロード命令を最適化するコンピュータであるコンパイラ装置であって、
少なくとも一部の変数がレジスタに割り当てられておらず、レジスタに割り当てられていない変数の値の使用に先立って当該変数の値をメモリからロードするロード命令を含む、プログラムを、前記対象プログラムとして記憶している記憶装置と、
前記対象プログラムの前記ロード命令を、少なくとも1つの空きレジスタが存在する範囲で移動させることで、当該ロード命令の部分冗長性を除去する処理を、前記コンピュータのCPUの制御により前記記憶装置にアクセスして行う部分冗長性除去手段と、
前記ロード命令から実行順序を辿ることにより前記ロード命令が読み出すデータを使用する使用命令に到達する実行経路において、何れの変数にも割り当てられていない空きレジスタを、前記CPUの制御により前記記憶装置にアクセスして検出する前進方向レジスタ検出手段と、
前記ロード命令がデータを読み出す読出先として、前記前進方向レジスタ検出手段により検出された前記空きレジスタを、前記CPUの制御により前記記憶装置にアクセスして割り当てる空きレジスタ割当手段と
を備えるコンパイラ装置。 - 前記前進方向レジスタ検出手段は、前記対象プログラムの始点から実行順序を辿る方向に空きレジスタの集合を示す情報を伝播させる処理により、空きレジスタを検出する
請求項6記載のコンパイラ装置。 - 最適化対象の対象プログラムにおいて、メモリからデータを読み出すロード命令を最適化するコンピュータであるコンパイラ装置であって、
少なくとも一部の変数がレジスタに割り当てられておらず、レジスタに割り当てられていない変数の値の使用に先立って当該変数の値をメモリからロードするロード命令を含む、プログラムを、前記対象プログラムとして記憶している記憶装置と、
前記対象プログラムの前記ロード命令を、少なくとも1つの空きレジスタが存在する範囲で移動させることで、当該ロード命令の部分冗長性を除去する処理を、前記コンピュータのCPUの制御により前記記憶装置にアクセスして行う部分冗長性除去手段と、
前記ロード命令が実行される実行頻度と、当該ロード命令により読み出されるデータを使用する使用命令が実行される実行頻度とを前記CPUの制御により取得する実行頻度取得手段と、
前記ロード命令及び前記使用命令のそれぞれが実行される実行位置において、何れの変数にも割り当てられていない空きレジスタの集合を、前記記憶装置にアクセスして前記CPUの制御により検出する空きレジスタ検出手段と、
前記対象プログラムにおいて使用可能なそれぞれのレジスタについて、当該レジスタが空きレジスタとなる各実行位置における前記ロード命令または前記使用命令の実行頻度を合計した実行頻度合計値を前記CPUの制御により算出する実行頻度合計値算出手段と、 前記ロード命令の実行位置における前記空きレジスタのうち前記実行頻度合計値が最も高い前記空きレジスタを、前記CPUの制御により、前記ロード命令の読出先として割り当てる空きレジスタ割当手段と
を備えるコンパイラ装置。 - 最適化対象の対象プログラムにおいて、メモリからデータを読み出すロード命令を最適化するコンパイラ装置としてコンピュータを機能させるコンパイラプログラムであって、
前記コンピュータを、
少なくとも一部の変数がレジスタに割り当てられておらず、レジスタに割り当てられていない変数の値の使用に先立って当該変数の値をメモリからロードするロード命令を含む、プログラムを、前記対象プログラムとして記憶している記憶装置と、
前記対象プログラムの前記ロード命令を、少なくとも1つの空きレジスタが存在する範囲で移動させることで、当該ロード命令の部分冗長性を除去する処理を、前記コンピュータのCPUの制御により前記記憶装置にアクセスして行う部分冗長性除去手段と、
前記ロード命令が読み出すデータを使用する使用命令から実行順序を遡ることにより前記ロード命令に到達する実行経路において、何れの変数にも割り当てられていない空きレジスタを、前記CPUの制御により前記記憶装置にアクセスして検出する後進方向レジスタ検出手段と、
前記ロード命令がデータを読み出す読出先として、前記後進方向レジスタ検出手段により検出された前記空きレジスタを、前記CPUの制御により前記記憶装置にアクセスして割り当てる空きレジスタ割当手段と
して機能させるコンパイラプログラム。 - 最適化対象の対象プログラムにおいて、メモリからデータを読み出すロード命令を最適化するコンパイラ装置としてコンピュータを機能させるコンパイラプログラムであって、
前記コンピュータを、
少なくとも一部の変数がレジスタに割り当てられておらず、レジスタに割り当てられていない変数の値の使用に先立って当該変数の値をメモリからロードするロード命令を含む、プログラムを、前記対象プログラムとして記憶している記憶装置と、
前記対象プログラムの前記ロード命令を、少なくとも1つの空きレジスタが存在する範囲で移動させることで、当該ロード命令の部分冗長性を除去する処理を、前記コンピュータのCPUの制御により前記記憶装置にアクセスして行う部分冗長性除去手段と、
前記ロード命令から実行順序を辿ることにより前記ロード命令が読み出すデータを使用する使用命令に到達する実行経路において、何れの変数にも割り当てられていない空きレジスタを、前記CPUの制御により前記記憶装置にアクセスして検出する前進方向レジスタ検出手段と、
前記ロード命令がデータを読み出す読出先として、前記前進方向レジスタ検出手段により検出された前記空きレジスタを、前記CPUの制御により前記記憶装置にアクセスして割り当てる空きレジスタ割当手段と
して機能させるコンパイラプログラム。 - 最適化対象の対象プログラムにおいて、メモリからデータを読み出すロード命令を最適化するコンパイラ装置としてコンピュータを機能させるコンパイラプログラムであって、
前記コンピュータを、
少なくとも一部の変数がレジスタに割り当てられておらず、レジスタに割り当てられていない変数の値の使用に先立って当該変数の値をメモリからロードするロード命令を含む、プログラムを、前記対象プログラムとして記憶している記憶装置と、
前記対象プログラムの前記ロード命令を、少なくとも1つの空きレジスタが存在する範囲で移動させることで、当該ロード命令の部分冗長性を除去する処理を、前記コンピュータのCPUの制御により前記記憶装置にアクセスして行う部分冗長性除去手段と、
前記ロード命令が実行される実行頻度と、当該ロード命令により読み出されるデータを使用する使用命令が実行される実行頻度とを前記CPUの制御により取得する実行頻度取得手段と、
前記ロード命令及び前記使用命令のそれぞれが実行される実行位置において、何れの変数にも割り当てられていない空きレジスタの集合を、前記記憶装置にアクセスして前記CPUの制御により検出する空きレジスタ検出手段と、
前記対象プログラムにおいて使用可能なそれぞれのレジスタについて、当該レジスタが空きレジスタとなる各実行位置における前記ロード命令または前記使用命令の実行頻度を合計した実行頻度合計値を前記CPUの制御により算出する実行頻度合計値算出手段と、 前記ロード命令の実行位置における前記空きレジスタのうち前記実行頻度合計値が最も高い前記空きレジスタを、前記CPUの制御により、前記ロード命令の読出先として割り当てる空きレジスタ割当手段と
して機能させるコンパイラプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003339666A JP4042972B2 (ja) | 2003-09-30 | 2003-09-30 | 最適化コンパイラ、コンパイラプログラム、及び記録媒体 |
US10/940,541 US7523448B2 (en) | 2003-09-30 | 2004-09-13 | Optimizing compiler |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003339666A JP4042972B2 (ja) | 2003-09-30 | 2003-09-30 | 最適化コンパイラ、コンパイラプログラム、及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005107816A JP2005107816A (ja) | 2005-04-21 |
JP4042972B2 true JP4042972B2 (ja) | 2008-02-06 |
Family
ID=34373359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003339666A Expired - Fee Related JP4042972B2 (ja) | 2003-09-30 | 2003-09-30 | 最適化コンパイラ、コンパイラプログラム、及び記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7523448B2 (ja) |
JP (1) | JP4042972B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7971191B2 (en) * | 2004-06-10 | 2011-06-28 | Hewlett-Packard Development Company, L.P. | System and method for analyzing a process |
US7836448B1 (en) * | 2004-06-30 | 2010-11-16 | Emc Corporation | System and methods for task management |
JP2006338616A (ja) * | 2005-06-06 | 2006-12-14 | Matsushita Electric Ind Co Ltd | コンパイラ装置 |
ATE486316T1 (de) * | 2005-08-30 | 2010-11-15 | Sony Ericsson Mobile Comm Ab | Verfahren und software für die optimierung der positionierung von software-funktionen in einem speicher |
US9009692B2 (en) * | 2009-12-26 | 2015-04-14 | Oracle America, Inc. | Minimizing register spills by using register moves |
JP2013242700A (ja) | 2012-05-21 | 2013-12-05 | Internatl Business Mach Corp <Ibm> | コード最適化方法、プログラム及びシステム |
US10175964B2 (en) * | 2014-09-26 | 2019-01-08 | Microsoft Technology Licensing, Llc | Compiler caching for runtime routine redundancy tracking |
EP3704572A1 (en) | 2017-11-03 | 2020-09-09 | Coherent Logix, Inc. | Programming flow for multi-processor system |
JP7225900B2 (ja) | 2019-02-25 | 2023-02-21 | 富士通株式会社 | コンパイラ装置、プログラム、及び情報処理方法 |
CN110795239A (zh) * | 2019-10-15 | 2020-02-14 | 浙江口碑网络技术有限公司 | 应用内存泄露的检测方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664193A (en) * | 1995-11-17 | 1997-09-02 | Sun Microsystems, Inc. | Method and apparatus for automatic selection of the load latency to be used in modulo scheduling in an optimizing compiler |
US6128775A (en) * | 1998-06-16 | 2000-10-03 | Silicon Graphics, Incorporated | Method, system, and computer program product for performing register promotion via load and store placement optimization within an optimizing compiler |
US6934943B2 (en) * | 2001-10-18 | 2005-08-23 | Hewlett-Packard Development Company | Optimization of control transfers to dynamically loaded modules |
US20040154010A1 (en) * | 2003-01-31 | 2004-08-05 | Pedro Marcuello | Control-quasi-independent-points guided speculative multithreading |
-
2003
- 2003-09-30 JP JP2003339666A patent/JP4042972B2/ja not_active Expired - Fee Related
-
2004
- 2004-09-13 US US10/940,541 patent/US7523448B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005107816A (ja) | 2005-04-21 |
US20050071832A1 (en) | 2005-03-31 |
US7523448B2 (en) | 2009-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8291398B2 (en) | Compiler for optimizing program | |
US8104026B2 (en) | Compiler register allocation and compilation | |
US8271960B2 (en) | Obtaining profile data for use in optimizing computer programming code | |
JP5165969B2 (ja) | プログラムのコンパイルのために変数にレジスタを割り付ける技術 | |
US7406684B2 (en) | Compiler, dynamic compiler, and replay compiler | |
US20080129740A1 (en) | Image processing apparatus, storage medium that stores image processing program, and image processing method | |
JP5703729B2 (ja) | データ処理装置及びプログラム | |
JP4042972B2 (ja) | 最適化コンパイラ、コンパイラプログラム、及び記録媒体 | |
JP2008021249A (ja) | 画像処理装置及びプログラム | |
JP2009054003A (ja) | 画像処理装置及びプログラム | |
JP5697195B2 (ja) | アクセス予測に基づいてテーブルのミラーリングを制御する管理システム、プログラムおよび方法 | |
US20200285510A1 (en) | High precision load distribution among processors | |
US20090164773A1 (en) | Dynamic reconfiguration supporting method, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system | |
JPH09212369A (ja) | 記憶域割り付け装置 | |
US6948009B2 (en) | Method, system, and article of manufacture for increasing processor utilization | |
JP4039633B2 (ja) | 最適化コンパイラ、コンパイル方法、コンパイラプログラム、及び記録媒体 | |
JP7323769B2 (ja) | ストレージ装置、ストレージシステムおよびプログラム | |
US9311065B2 (en) | Data splitting for multi-instantiated objects | |
JP2009199367A (ja) | 計算機システム、i/oスケジューラ及びi/oスケジューリング方法 | |
JP2022144168A (ja) | プログラム、情報処理装置および情報処理方法 | |
JPWO2004084095A1 (ja) | 情報検索システム,情報検索方法,情報検索装置,情報検索プログラムおよび当該プログラムを記録したコンピュータ読取可能な記録媒体 | |
US20040187101A1 (en) | Compiler, compiler program, recording medium, and compiling method | |
JP4984303B2 (ja) | 後処理カーネルのダイナミックリンキングおよびダイナミックローディング | |
JP2021018711A (ja) | タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム | |
JP2009053829A (ja) | 情報処理装置、情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070920 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070920 |
|
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: 20071106 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20071108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071109 |
|
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: 20101122 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101122 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111122 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |