dmd.backend.oper

Compiler implementation of the D programming language.

Members

Aliases

OPER
alias OPER = int
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.

Enums

OPunde
anonymousenum OPunde
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
_OTbinary
anonymousenum _OTbinary

Various types of operators: OTbinary binary OTunary unary OTleaf leaf OTcommut commutative (e1 op e2) == (e2 op e1) (assoc == !=) OTassoc associative (e1 op (e2 op e3)) == ((e1 op e2) op e3) (also commutative) OTassign assignment = op= i++ i-- i=-i str= OTpost post inc or post dec operator OTeop0e if (e op 0) => e OTeop00 if (e op 0) => 0 OTeop1e if (e op 1) => e OTsideff there are side effects to the operator (assign call post ?: && ||) OTconv type conversion operator that could appear on lhs of assignment operator OTlogical logical operator (result is 0 or 1) OTwid high order bits of operation are irrelevant OTopeq an op= operator OTop an operator that has a corresponding op= OTcall function call OTrtol operators that evaluate right subtree first then left OTrel == != < <= > >= operators OTrel2 < <= > >= operators OTdef definition operator (assign call post asm) OTae potential common subexpression operator OTboolnop operation is a nop if boolean result is desired

_OTboolnop
anonymousenum _OTboolnop
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
_OTlogical
anonymousenum _OTlogical
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.

Functions

OTae
ubyte OTae(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTassign
ubyte OTassign(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTassoc
ubyte OTassoc(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTbinary
ubyte OTbinary(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTboolnop
ubyte OTboolnop(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTcall
ubyte OTcall(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTcalldef
bool OTcalldef(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTcommut
ubyte OTcommut(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTconv
bool OTconv(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTdef
ubyte OTdef(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTeop00
ubyte OTeop00(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTeop0e
ubyte OTeop0e(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTeop1e
ubyte OTeop1e(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTleaf
bool OTleaf(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTlogical
ubyte OTlogical(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTop
bool OTop(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTopeq
bool OTopeq(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTpost
bool OTpost(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTrel
bool OTrel(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTrel2
bool OTrel2(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTrtol
ubyte OTrtol(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTsideff
ubyte OTsideff(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTunary
ubyte OTunary(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
OTwid
ubyte OTwid(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
convidx
int convidx(OPER op)

Conversion operators. Convert from conversion operator to conversion index parallel array invconvtab[] in cgelem.c

opeqtoop
OPER opeqtoop(OPER opx)
Undocumented in source. Be warned that the author may not have intended to support it.
optoopeq
OPER optoopeq(OPER opx)
Undocumented in source. Be warned that the author may not have intended to support it.
rel_exception
OPER rel_exception(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
rel_integral
OPER rel_integral(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
rel_not
OPER rel_not(OPER op)

Determine things about relational operators.

rel_swap
OPER rel_swap(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
rel_unord
OPER rel_unord(OPER op)
Undocumented in source. Be warned that the author may not have intended to support it.
swaprel
OPER swaprel(OPER )
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.

Static variables

debtab
const(char)*[OPMAX] debtab;
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.

Variables

_rel_exception
ubyte[RELMAX] _rel_exception;
Undocumented in source.
_rel_integral
ubyte[RELMAX] _rel_integral;

If operands are integral types

_rel_not
ubyte[RELMAX] _rel_not;

Logical negation

_rel_swap
ubyte[RELMAX] _rel_swap;

Operand swap

_rel_unord
ubyte[RELMAX] _rel_unord;
Undocumented in source.
opcost
ubyte[OPMAX] opcost;

Determine the cost of evaluating an operator.

optab1
ubyte[OPMAX] optab1;

Determine properties of an elem. EBIN binary node? EUNA unary node? EOP operator node (unary or binary)? ERTOL right to left evaluation (left to right is default) Eunambig unambiguous definition elem?

optab2
ubyte[OPMAX] optab2;
Undocumented in source.
optab3
ubyte[OPMAX] optab3;
Undocumented in source.

Meta