View source code
Display the source code in dmd/backend/arm/cod2.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla 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 usinglocal clone.
Module dmd.backend.arm.cod2
Code generation 2
Includes
- math operators (+ - * / %) and functions (abs, cos, sqrt) - 'string' functions (strlen, memcpy, memset) - pointers (address of / dereference) - struct assign, constructor, destructor
Compiler implementation of the D programming language.
Documentation
https://dlang.org/phobos/dmd_backend_arm_cod2.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/backend/arm/cod2.d
Functions
| Name | Description |
|---|---|
cdabs(cg, cdb, e, pretregs)
|
Absolute value operator, OPabs |
cdbswap(cg, cdb, e, pretregs)
|
Bswap operator |
cdcom(cg, cdb, e, pretregs)
|
Complement operator |
cdcond(cg, cdb, e, pretregs)
|
?: operator |
cddiv(cg, cdb, e, pretregs)
|
Handle OPdiv, OPmod and OPremquo. Note that modulo isn't defined for doubles. |
cdhalt(cg, cdb, e, pretregs)
|
|
cdind(cg, cdb, e, pretregs)
|
Perform a 'star' reference (indirection). |
cdloglog(cg, cdb, e, pretregs)
|
Do && and || operators. |
cdmemset(cg, cdb, e, pretregs)
|
Generate code for memset(s,value,numbytes) intrinsic. (s OPmemset (numbytes OPparam value)) |
cdmul(cg, cdb, e, pretregs)
|
Handle multiply, OPmul |
cdneg(cg, cdb, e, pretregs)
|
OPneg, not OPsqrt OPsin OPcos OPrint |
cdnot(cg, cdb, e, pretregs)
|
Handle OPnot and OPbool. |
cdorth(cg, cdb, e, pretregs)
|
Handle operators which are more or less orthogonal OPadd, OPmin, OPand, OPor, OPxor |
cdpost(cg, cdb, e, pretregs)
|
Post increment and post decrement. OPpostinc, OPpostdec |
cdrelconst(cg, cdb, e, pretregs)
|
Get the address of. Is also called by cdstreq() to set up pointer to a structure. |
cdshift(cg, cdb, e, pretregs)
|
Generate code for shift left or shift right (OPshl,OPshr,OPashr,OProl,OPror). |
cdstreq(cg, cdb, e, pretregs)
|
Do structure assignments. This should be fixed so that (s1 = s2) is rewritten to (&s1 = &s2). Mebbe call cdstreq() for double assignments??? |
floatPost(cg, cdb, e, pretregs)
|
Do OPpostinc and OPpostdec on floating point lvalue |
getoffset(cg, cdb, e, reg)
|
Load the offset portion of the address represented by e into reg. |
tyToExtend(ty)
|
Convert from ty to |
Authors
License
Copyright © 1999-2026 by the D Language Foundation | Page generated by ddox.