Extended basic block

In computing, an extended basic block[1][2] is a collection of basic blocks of the code within a program with certain properties that make them highly amenable to optimizations.

Many compiler optimizations operate on extended basic blocks.

An extended basic block is a maximal collection of basic blocks where: Many local optimizations that operate on basic blocks can be easily extended to operate on extended basic blocks.

An example is common subexpression elimination which removes duplicate expressions.

In its simplest form it is a local optimization, operating only on basic blocks.