ilang  1.1.4
ILAng: A Modeling and Verification Platform for SoCs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros
Classes | Namespaces | Enumerations
expr_op.h File Reference
#include <ilang/ila/ast/expr.h>

Go to the source code of this file.

Classes

class  ilang::ExprOp
 Expression for operations, e.g. AND, OR, ADD, etc. Operations are non-terminating nodes in the AST. More...
 
class  ilang::ExprOpNeg
 The wrapper for unary negate operation "-". More...
 
class  ilang::ExprOpNot
 The wrapper for unary not operation "!". (bool only) More...
 
class  ilang::ExprOpCompl
 The wrapper for unary bit-wise complement "~". (bv only) More...
 
class  ilang::ExprOpAnd
 The wrapper for binary logical AND operation "&". More...
 
class  ilang::ExprOpOr
 The wrapper for binary logical OR operation "|". More...
 
class  ilang::ExprOpXor
 The wrapper for binary logical XOR operation "^". More...
 
class  ilang::ExprOpShl
 The wrapper for left shifting a bit-vector. More...
 
class  ilang::ExprOpAshr
 The wrapper for arithmetic right shifting a bit-vector. More...
 
class  ilang::ExprOpLshr
 The wrapper for logical right shifting a bit-vector. More...
 
class  ilang::ExprOpAdd
 The wrapper for unsigned addition. More...
 
class  ilang::ExprOpSub
 The wrapper for unsigned subtraction. More...
 
class  ilang::ExprOpDiv
 The wrapper for unsigned division. More...
 
class  ilang::ExprOpSRem
 The wrapper for signed remainder. More...
 
class  ilang::ExprOpURem
 The wrapper for unsigned remainder. More...
 
class  ilang::ExprOpSMod
 The wrapper for signed remainder. More...
 
class  ilang::ExprOpMul
 The wrapper for unsigned multiplication. More...
 
class  ilang::ExprOpEq
 The class wrapper for binary comparison EQ "==". More...
 
class  ilang::ExprOpLt
 The class wrapper for binary comparison signed less than "<". More...
 
class  ilang::ExprOpGt
 The class wrapper for binary comparison signed greater than ">". More...
 
class  ilang::ExprOpUlt
 The class wrapper for binary comparison unsigned less than. More...
 
class  ilang::ExprOpUgt
 The class wrapper for binary comparison unsigned greater than. More...
 
class  ilang::ExprOpLoad
 The class wrapper for memory load. More...
 
class  ilang::ExprOpStore
 The class wrapper for memory store. More...
 
class  ilang::ExprOpConcat
 The class wrapper for bitvector concatenation. More...
 
class  ilang::ExprOpExtract
 The class wrapper for bitvector extraction. More...
 
class  ilang::ExprOpZExt
 The class wrapper for zero-extend. More...
 
class  ilang::ExprOpSExt
 The class wrapper for sign-extend. More...
 
class  ilang::ExprOpLRotate
 The class wrapper for left-rotate. More...
 
class  ilang::ExprOpRRotate
 The class wrapper for right-rotate. More...
 
class  ilang::ExprOpAppFunc
 The class wrapper for apply uninterpreted function. More...
 
class  ilang::ExprOpImply
 The class wrapper for logical imply. More...
 
class  ilang::ExprOpIte
 The class wrapper for if-then-else. More...
 

Namespaces

 ilang
 

Enumerations

enum  ilang::AstUidExprOp {
  kInvalid = 0, kNegate, kNot, kComplement,
  kAnd, kOr, kXor, kShiftLeft,
  kArithShiftRight, kLogicShiftRight, kAdd, kSubtract,
  kMultiply, kEqual, kLessThan, kGreaterThan,
  kUnsignedLessThan, kUnsignedGreaterThan, kLoad, kStore,
  kConcatenate, kExtract, kZeroExtend, kSignedExtend,
  kApplyFunc, kImply, kIfThenElse, kDivide,
  kRotateLeft, kRotateRight, kSignedRemainder, kUnsignedRemainder,
  kSignedModular
}
 Unified ID for ExprOp.
 

Detailed Description

Class ExprOp - expression nodes representing non-leaf operations.