Single-entry single-exit

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 128.92.105.42 (talk) at 19:47, 24 July 2019 (Flagged article as stub and attempted to categorize it). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In graph theory, a single-entry single-exit (SESE) region in a given graph is an ordered edge pair (ab) of distinct control flow edges a and b where:

  1. a dominates b
  2. b postdominates a
  3. 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]

References