拡張基本ブロック

拡張基本ブロック（かくちょうきほんブロック、）は、コンピューティングにおいて、プログラムを構成する基本ブロックの集まりを指す。最適化の対象として好適で、多くのコンパイラ最適化は拡張基本ブロックに対する操作として実現されている。

定義

拡張基本ブロックは以下の性質を持つ基本ブロックの集まりのうち最も大きいものである：
 先頭の基本ブロックだけが複数の前任者 (predecessor basic block) を持つ。
 他のすべての基本ブロックは１つの前任者だけを持ち、かつその前任者は当該拡張基本ブロック内にある。

使用

基本ブロックを操作対象とする局所最適化のうちの多くが拡張基本ブロックにも容易に適用できる。例として重複する式を排除する共通部分式除去がある。これは基本的には基本ブロックに対する操作であるが、簡単に拡張基本ブロックに対する操作に拡張できる。

関連項目
基本ブロック
制御フローグラフ
トレーシング実行時コンパイル

参考文献

外部リンク
 Basic Blocks - GNU Compiler Collection
 The Difference Between Extended Basic Blocks and Traces

コンパイラ