This article relies largely or entirely on a single source. (October 2023) |
コンパイラ最適化の分野において、利用可能な式とは、プログラムの各ポイントにおいて再計算する必要のない式の集合を決定する分析アルゴリズムです。これらの式は、そのポイントで利用可能であると言われます。プログラムポイントで利用可能であるためには、式のオペランドは、その式の出現からプログラムポイントまでのいかなるパスにおいても変更されてはなりません。
この分析は、順方向データフロー分析問題の一例です。利用可能な式の集合が保持されます。各文は、1つ以上の利用可能な式のオペランドを変更するかどうかが分析されます。これにより、各基本ブロックの末尾に利用可能な式の集合が生成されます。これは、データフロー分析用語では「開始」と呼ばれます。ある式が基本ブロックの先頭で利用可能な場合、その式は、その基本ブロックの先行する各ブロックの末尾で利用可能です。これにより、利用可能な集合に関する一連の方程式が得られ、反復アルゴリズムによって解くことができます。
利用可能な式解析は、グローバル共通部分式除去(CSE)を行うために使用されます。ある時点で式が利用可能な場合、それを再評価する必要はありません。
参考文献
- アホ、セティ、ウルマン:コンパイラ - 原理、テクニック、ツールアディソン・ウェスリー出版 1986