View source code
Display the source code in dmd/backend/gother.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.gother

Other global optimizations






constprop() Constant Propagation
copyprop() Do copy propagation. Copy propagation elems are of the form OPvar=OPvar, and they are in go.expnod[].
deadvar() Mark all dead variables. Only worry about register candidates. Compute live ranges for register candidates. Be careful not to compute live ranges for members of structures (CLMOS).
elimass(n) Remove side effect of assignment elem.
find(eds, e) Find e in Elemdata list.
findloopparameters(erel, rdeq, rdinc) Look for initialization and increment expressions in loop. Very similar to intranges().
listrds(IN, e, f, rdlist) Find all the reaching defs of OPvar e.


Elemdatas Rarray!(dmd.backend.gother.Elemdata)


Walter Bright


Distributed under the Boost Software License, Version 1.0.