View source code
Display the source code in dmd/backend/gloop.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Module dmd.backend.gloop

Compiler implementation of the D programming language.



blockinit() Initialize block information.
compdom() 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.
dom(A, B) Return !=0 if block A dominates block B.
el_length(e) Count number of elems in a tree
fillInDNunambig(v, e) Fill in the DefNode.DNumambig vector. Set bits defnod[] indices for entries which are completely destroyed when e is unambiguously assigned to.
loopopt() Loop invariant and induction variable elimination.
updaterd(n, GEN, KILL) Update rd vector.


loop Loop data structure.
UnrollWalker Unroll loop if possible.


Walter Bright


Boost License 1.0