Single-entry single-exit
Jump to navigation
Jump to search
In mathematics graph theory, a single-entry single-exit (SESE) region in a given graph is an ordered edge pair.
For example, with the ordered edge pair, (a, b) of distinct control-flow edges a and b where:
- a dominates b
- b postdominates a
- Every cycle containing a also contains b and vice versa.
where a node x is said to dominate node y in a directed graph if every path from start to y includes x. A node x is said to postdominate a node y if every path from y to end includes x.
So, a and b refer to the entry and exit edge, respectively.
- The first condition ensures that every path from start into the region passes through the region’s entry edge, a.
- The second condition ensures that every path from inside the region to end passes through the region’s exit edge, b.
- The first two conditions are necessary but not enough to characterize SESE regions: since backedges do not alter the dominance or postdominance relationships, the first two conditions alone do not prohibit backedges entering or exiting the region.
- The third condition encodes two constraints: every path from inside the region to a point 'above' a passed through b, and every path from a point 'below' b to a point inside the region passes through a.[1]