View source code
Display the source code in dmd/backend/cgelem.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.cgelem
Compiler implementation of the D programming language.
Does strength reduction optimizations on the elem trees, i.e. rewriting trees to less expensive trees.
Documentation
https://dlang.org/phobos/dmd_backend_cgelem.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/cgelem.d Add coverage tests to https://github.com/dlang/dmd/blob/master/test/runnable/testcgelem.d
Functions
Name | Description |
---|---|
doptelem(e, 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(e, goal)
|
Handle OPddtor |
elemisnegone(e)
|
|
elemisone(e)
|
|
elmsw(e, goal)
|
Handle OPmsw. |
elpair(e, goal)
|
Handle OPpair, OPrpair. |
elstruct(e, goal)
|
See if we can replace struct operations with simpler ones. For OPstreq and OPstrpar. |
fillinops(ops, opsi, maxops, oper, e)
|
Fill in ops[maxops] with operands of repeated operator oper. |
postoptelem(e)
|
Do optimizations after bltailrecursion() and before common subexpressions. |
swaprel(op)
|
Swap relational operators (like if we swapped the leaves). |
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.