dmd.backend.cgreg

Compiler implementation of the D programming language.

Members

Functions

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.
WEIGHTS
int WEIGHTS(int bi, int si)
Undocumented in source. Be warned that the author may not have intended to support it.
cgreg_assign
int cgreg_assign(Symbol* retsym)
Undocumented in source. Be warned that the author may not have intended to support it.
cgreg_gotoepilog
int cgreg_gotoepilog(block* b, Symbol* s)

Determine if block gets symbol loaded by predecessor epilog (1), or by prolog (0).

cgreg_init
void cgreg_init()
cgreg_reset
void cgreg_reset()
cgreg_spillreg_epilog
void cgreg_spillreg_epilog(block* b, Symbol* s, CodeBuilder cdbstore, CodeBuilder cdbload)

Determine block epilog code - it's either assignments to register, or storing register back in memory.

cgreg_spillreg_prolog
void cgreg_spillreg_prolog(block* b, Symbol* s, CodeBuilder cdbstore, CodeBuilder cdbload)

Determine block prolog code for s - it's either assignments to register, or storing register back in memory.

cgreg_term
void cgreg_term()
cgreg_unregister
void cgreg_unregister(regm_t conflict)

The register variables in this mask can not be in registers. "Unregister" them.

cgreg_used
void cgreg_used(uint bi, regm_t used)

Registers used in block bi.

Structs

Reg
struct Reg

Do register assignments.

Meta