dmd.backend.gother

Other data flow analysis based optimizations.

Members

Aliases

Elemdatas
alias Elemdatas = Rarray!(Elemdata)

Functions

constprop
void constprop()

Constant propagation. Also detects use of variable before any possible def.

copyprop
void copyprop()

Do copy propagation. Copy propagation elems are of the form OPvar=OPvar, and they are in go.expnod[].

deadvar
void 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
void elimass(elem* n)

Remove side effect of assignment elem.

find
Elemdata* find(Elemdatas eds, elem* e)

Find e in Elemdata list.

listrds
void listrds(vec_t IN, elem* e, vec_t f, Barray!(elem*)* rdlist)

Find all the reaching defs of OPvar e.

Structs

Elemdata
struct Elemdata
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.

Meta

License

Distributed under the Boost Software License, Version 1.0. http://www.boost.org/LICENSE_1_0.txt

Suggestion Box / Bug Report