## 15 Control Flow Graph

A control flow graph (CFG) is a data structure built on top of the intermediate code representation (the RTL or `tree` instruction stream) abstracting the control flow behavior of a function that is being compiled. The CFG is a directed graph where the vertices represent basic blocks and edges represent possible transfer of control flow from one basic block to another. The data structures used to represent the control flow graph are defined in `basic-block.h`.