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

https

//www.boost.org/LICENSE_1_0.txt

Coverage

https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/gother.d

Documentation

https://dlang.org/phobos/dmd_backend_gother.html

Functions

NameDescription
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.

Aliases

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

Authors

Walter Bright

License

Distributed under the Boost Software License, Version 1.0.