Previous    Next


Lowry and Medlock [1969] characterized loops using dominators and performed induction-variable optimizations. Allen [1970] introduced the notion of reducible flow graphs. Aho et al. [1986] describe many optimizations, analyses, and transformations on loops. Splitting control-flow nodes or edges gives a place into which statements can be moved. The loop-preheader transformation described on page 382 is an example of such splitting. Other examples are landing pads [Cytron et al. 1986] - nodes inserted in each loop-exit edge; postbody nodes [Wolfe 1996] - nodes inserted at the end of a loop body (see Exercise 18.6); and edge splitting to ensure a unique successor or predecessor property [Rosen et al. 1988] (see ).

describes other loop optimizations and a faster algorithm for computing dominators.

JaVaScreenshot Previous    Next