- REGSIZE
int REGSIZE()
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
- doptelem
elem* doptelem(elem* e, goal_t goal)
Optimize and canonicalize an expression tree.
Fiddle with double operators so that the rvalue is a pointer
(this is needed by the 8086 code generator).
- elddtor
elem* elddtor(elem* e, goal_t goal)
- elemisnegone
int elemisnegone(elem* e)
- elemisone
int elemisone(elem* e)
- elmsw
elem* elmsw(elem* e, goal_t goal)
- elpair
elem* elpair(elem* e, goal_t goal)
- elstruct
elem* elstruct(elem* e, goal_t goal)
See if we can replace struct operations with simpler ones.
For OPstreq and OPstrpar.
- evalu8
elem* evalu8(elem* e, goal_t goal)
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
- fillinops
bool fillinops(elem** ops, int* opsi, int maxops, int oper, elem* e)
Fill in opsmaxops with operands of repeated operator oper.
- mem_calloc
void* mem_calloc(size_t )
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
- postoptelem
void postoptelem(elem* e)
Do optimizations after bltailrecursion() and before common subexpressions.
- swaprel
OPER swaprel(OPER op)
Swap relational operators (like if we swapped the leaves).
Compiler implementation of the D programming language.
Does strength reduction optimizations on the elem trees, i.e. rewriting trees to less expensive trees.