Initialize block information.
Compute dominators (Bdom) for each block. See Aho & Ullman Fig. 13.5. Note that flow graph is reducible if there is only one pass through the loop.
Test if block A dominates block B.
Loop invariant and induction variable elimination. Input: iter which optimization iteration we are on
Unroll loop if possible.
Update rd vector. Input: n assignment elem or function call elem or OPasm elem rd reaching def vector to update (clear bits for defs we kill, set bit for n (which is the def we are genning)) vecdim go.defnod.length
Loop data structure.
Global loop optimizations
Compiler implementation of the D programming language.