Jump to content

Single-entry single-exit

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by The Blade of the Northern Lights (talk | contribs) at 01:20, 18 February 2011 (Added {{context}} tag to article using TW). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A Single-entry Single-exit (SESE) region in a given graph refers to an ordered edge pair (a, b) of distinct control flow edges a and b where:

              1. a dominate b
2. b postdominates a
3. Every cycle containing a also contains b and vise 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