|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ 解析 : [かいせき] 1. (n,vs) (1) analysis 2. (2) parsing
エイリアス解析(英: Alias analysis)は、コンパイラ理論における手法の一つで、ある記憶域が複数の箇所からアクセスされるかどうかを判定する方法である。二つのポインタが同じ記憶域を参照している場合、「エイリアスしている」とみなされる。 エイリアス解析は通例制御フローとコンテキストを意識した手法である。 エイリアスする可能性があるものと、確実にエイリアスしているものを特定することができる。 ''エイリアス解析''という用語はポインタ解析と同義で用いられることもある。 ==エイリアス解析の行うこと== 一般的には、エイリアス解析はあるメモリ参照が同じメモリ領域を示すかどうかを判定する。 これによって、コンパイラは、ある文によりプログラム中のどの変数が影響を受けるかを知ることができる。たとえば、下のような構造体のメンバーにアクセスするコードを考える。
ここで、エイリアスに3つの場合がありうる。 #変数 p と q はエイリアスしない。 #変数 p と q は確実にエイリアスする。 #コンパイル時には、変数 p と q がエイリアスするかどうかは決定論的に判断できない。 p と q がエイリアスしないのであれば、 i = p.foo + 3; は i = 4 に置き換えることができる。p と q が確実にエイリアスするのであれば、i = p.foo + 3; は i = 5 に置き換えることができる。いずれの場合も、エイリアスによる情報を元に最適化を施すことができる。一方、p と q がエイリアスするかどうか判断できない場合には、最適化を施すことができず、結果はコード全体を実行するまで得ることができない。二つのメモリ参照のエイリアスが不明の場合、「エイリアスする可能性がある」関係と呼ぶことができる。抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「エイリアス解析」の詳細全文を読む スポンサード リンク
|