- blockinit
int blockinit()
 Initialize block information.
- compdom
void 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.
Input:
     dfo[]
Output:
     fills in the Bdom vector for each block
- dom
bool dom(block* A, block* B)
 Return !=0 if block A dominates block B.
- el_length
int el_length(elem* e)
 Count number of elems in a tree
- fillInDNunambig
void fillInDNunambig(vec_t v, elem* e)
 Fill in the DefNode.DNumambig vector.
Set bits defnod[] indices for entries
which are completely destroyed when e is
unambiguously assigned to.
- findloopparameters
bool findloopparameters(elem* erel, elem* rdeq, elem* rdinc)
 Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
- isLI
int isLI(elem* n)
 Undocumented in source. Be warned that the author may not have intended to support it.
- loopopt
void loopopt()
 Loop invariant and induction variable elimination.
Input:
     iter    which optimization iteration we are on
- loopunroll
bool loopunroll(loop* l)
 Undocumented in source. Be warned that the author may not have intended to support it.
- makeLI
void makeLI(elem* n)
 Undocumented in source. Be warned that the author may not have intended to support it.
- symbol_isintab
char symbol_isintab(Symbol* s)
 Undocumented in source. Be warned that the author may not have intended to support it.
- updaterd
void updaterd(elem* n, vec_t GEN, vec_t KILL)
 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
Compiler implementation of the D programming language.