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. Accounts for e being an rvalue by assigning the rvalue to a temp. |
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. |
isDllImported(var)
|
Figure out whether a data symbol should be dllimported |
toElem(e, irs)
|
Convert Expression to backend elem. |
toElemDtor(e, irs)
|
Convert Expression to elem, then append destructors for any temporaries created in elem. |
toExtSymbol(s)
|
Generate a backend symbol for a frontend symbol |
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-2024 by the D Language Foundation | Page generated by ddox.