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:

    The treatment of the incident of the assault upon the sailors of the Baltimore is so conciliatory and friendly that I am of the opinion that there is a good prospect that the differences growing out of that serious affair can now be adjusted upon terms satisfactory to this Government by the usual methods and without special powers from Congress.
    Benjamin Harrison (1833–1901)

    You say, “It is dark.” And in truth, I did place a cloud before your sun. But do you not see how the edges of the cloud are already glowing and turning light.
    Friedrich Nietzsche (1844–1900)