Control Flow Graph - Special Edges

Special Edges

For practical reasons, it is necessary to introduce some artificial kinds of edges or to process differently some kinds of edges.

A back edge is an edge that points to a block that has already been met during a depth-first (DFS) traversal of the graph. Back edges are typical of loops.

A critical edge is an edge which is neither the only edge leaving its source block, nor the only edge entering its destination block. These edges must be split: a new block must be created in the middle of the edge, in order to insert computations on the edge without affecting any other edges.

An abnormal edge is an edge whose destination is unknown. Exception handling constructs can produce them. These edges tend to inhibit optimization.

An impossible edge (also known as a fake edge) is an edge which has been added to the graph solely to preserve the property that the exit block postdominates all blocks. It cannot ever be traversed.

Read more about this topic:  Control Flow Graph

Famous quotes containing the words special and/or edges:

    I have the handicap of being born with a special language to which I alone have the key.
    Gustave Flaubert (1821–1880)

    There are moods in which we court suffering, in the hope that here, at least, we shall find reality, sharp peaks and edges of truth. But it turns out to be scene-painting and counterfeit. The only thing grief has taught me, is to know how shallow it is.
    Ralph Waldo Emerson (1803–1882)