View source code
Display the source code in dmd/e2ir.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.e2ir
Converts expressions to Intermediate Representation (IR) for the backend.
Documentation
https://dlang.org/phobos/dmd_e2ir.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/src/dmd/e2ir.d
Functions
Name | Description |
---|---|
addressElem(e, t, alwaysCopy)
|
Take address of an elem. |
array_toDarray(t, e)
|
Convert array to a dynamic array. |
array_toPtr(t, e)
|
Convert array to a pointer to the data. |
buildArrayBoundsError(irs, loc, lwr, upr, elength)
|
Construct elem to run when an array bounds check fails. |
callCAssert(irs, loc, exp, emsg, str)
|
Generate call to C's assert failure function. One of exp, emsg, or str must not be null. |
clearStringTab()
|
Reset stringTab[] between object files being emitted, because the symbols are local. |
elAssign(e1, e2, t, tx)
|
Generate a copy from e2 to e1. |
elemIsLvalue(e)
|
Return true if elem is a an lvalue.
Lvalue elems are OPvar and OPind.
|
genHalt(loc)
|
Generate HALT instruction. |
getTypeInfo(loc, t, irs)
|
|
needsDtor(t)
|
Determine if t is a struct that has destructor. |
needsPostblit(t)
|
Determine if t is a struct that has postblit. |
sarray_toDarray(loc, tfrom, tto, e)
|
|
setEthis2(loc, irs, fd, ethis2, ethis, eside)
|
Initialize the dual-context array with the context pointers. |
toElemDtor(e, irs)
|
Convert Expression to elem, then append destructors for any temporaries created in elem. |
toStringSymbol(str, len, sz)
|
Write read-only string to object file, create a local symbol for it. Makes a copy of str's contents, does not keep a reference to it. |
toStringSymbol(se)
|
Turn StringExp into Symbol. |
toTraceGC(irs, e, loc)
|
Replace call to GC allocator with call to tracing GC allocator. |
type_zeroCopy(t)
|
Determine if zero bits need to be copied for this backend type |
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.