dmd.constfold

Perform constant folding of arithmetic expressions.

The routines in this module are called from optimize.d.

Specification: Floating Point Constant Folding

Members

Functions

Add
UnionExp Add(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
And
UnionExp And(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
ArrayLength
UnionExp ArrayLength(Type type, Expression e1)
Undocumented in source. Be warned that the author may not have intended to support it.
Cast
UnionExp Cast(Loc loc, Type type, Type to, Expression e1)
Undocumented in source. Be warned that the author may not have intended to support it.
Cat
UnionExp Cat(Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Cmp
UnionExp Cmp(TOK op, Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Com
UnionExp Com(Type type, Expression e1)
Undocumented in source. Be warned that the author may not have intended to support it.
Div
UnionExp Div(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Equal
UnionExp Equal(TOK op, Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Identity
UnionExp Identity(TOK op, Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Index
UnionExp Index(Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Min
UnionExp Min(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Mod
UnionExp Mod(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Mul
UnionExp Mul(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Neg
UnionExp Neg(Type type, Expression e1)
Undocumented in source. Be warned that the author may not have intended to support it.
Not
UnionExp Not(Type type, Expression e1)
Undocumented in source. Be warned that the author may not have intended to support it.
Or
UnionExp Or(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Pow
UnionExp Pow(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Ptr
UnionExp Ptr(Type type, Expression e1)
Undocumented in source. Be warned that the author may not have intended to support it.
Shl
UnionExp Shl(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Shr
UnionExp Shr(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Slice
UnionExp Slice(Type type, Expression e1, Expression lwr, Expression upr)
Undocumented in source. Be warned that the author may not have intended to support it.
Ushr
UnionExp Ushr(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
Xor
UnionExp Xor(Loc loc, Type type, Expression e1, Expression e2)
Undocumented in source. Be warned that the author may not have intended to support it.
cantExp
void cantExp(UnionExp ue)

Initialize a TOK.cantExpression Expression.

isConst
int isConst(Expression e)
sliceAssignArrayLiteralFromString
void sliceAssignArrayLiteralFromString(ArrayLiteralExp existingAE, StringExp newval, size_t firstIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
sliceAssignStringFromArrayLiteral
void sliceAssignStringFromArrayLiteral(StringExp existingSE, ArrayLiteralExp newae, size_t firstIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
sliceAssignStringFromString
void sliceAssignStringFromString(StringExp existingSE, StringExp newstr, size_t firstIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
sliceCmpStringWithArray
int sliceCmpStringWithArray(StringExp se1, ArrayLiteralExp ae2, size_t lo1, size_t lo2, size_t len)
Undocumented in source. Be warned that the author may not have intended to support it.
sliceCmpStringWithString
int sliceCmpStringWithString(StringExp se1, StringExp se2, size_t lo1, size_t lo2, size_t len)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta