dmd.backend.cgcod.allocreg
- multiple declarations
Function allocreg
Allocate some registers.
extern(C++) void allocreg
(
ref dmd .backend .codebuilder .CodeBuilder cdb,
uint* pretregs,
ubyte* preg,
uint tym
);
Input
pretregs Pointer to mask of registers to make selection from. tym Mask of type we will store in registers.
Output
*pretregs Mask of allocated registers. *preg Register number of first allocated register. msavereg,mfuncreg retregs bits are cleared. regcon.cse.mval,regcon.cse.mops updated
Returns
pointer to code generated if necessary to save any regcon.cse.mops on the stack.
Function allocreg
Allocate some registers.
extern(C++) void allocreg
(
ref dmd .backend .codebuilder .CodeBuilder cdb,
uint* pretregs,
ubyte* preg,
uint tym
);
Input
pretregs Pointer to mask of registers to make selection from. tym Mask of type we will store in registers.
Output
*pretregs Mask of allocated registers. *preg Register number of first allocated register. msavereg,mfuncreg retregs bits are cleared. regcon.cse.mval,regcon.cse.mops updated
Returns
pointer to code generated if necessary to save any regcon.cse.mops on the stack.