This document discusses loops in flow graphs. It defines dominators and uses them to define natural loops and inner loops. It explains how to build a dominator tree and find natural loops given a back edge. Reducible flow graphs are introduced as graphs that can be partitioned into forward and back edges such that the forward edges form an acyclic subgraph, allowing certain loop transformations. Examples of natural inner and outer loops are provided. Pre-headers, which are added to loops to facilitate transformations, are also discussed.