10#ifndef KLEE_ASSIGNMENTGENERATOR_H
11#define KLEE_ASSIGNMENTGENERATOR_H
25template <
class T>
class ref;
53 static std::vector<unsigned char>
55 const unsigned int size);
Implements smart-pointer ref<> used by KLEE.
static ref< Expr > createLShrExpr(const ref< Expr > &l, ref< Expr > &r)
static ref< Expr > createDivRem(const ref< Expr > &l, ref< Expr > &r, bool sign)
static bool isReadExprAtOffset(ref< Expr > e, const ReadExpr *base, ref< Expr > offset)
static ref< Expr > createAddExpr(const ref< Expr > &l, ref< Expr > &r)
static ref< Expr > createExtendExpr(const ref< Expr > &l, ref< Expr > &r)
static bool generatePartialAssignment(const ref< Expr > &e, ref< Expr > &val, Assignment *&a)
static ref< Expr > createShlExpr(const ref< Expr > &l, ref< Expr > &r)
static ref< Expr > createExtractExpr(const ref< Expr > &l, ref< Expr > &r)
static ref< Expr > createDivExpr(const ref< Expr > &l, ref< Expr > &r, bool sign)
static bool helperGenerateAssignment(const ref< Expr > &e, ref< Expr > &val, Assignment *&a, Expr::Width width, bool sign)
static ref< Expr > createMulExpr(const ref< Expr > &l, ref< Expr > &r)
static std::vector< unsigned char > getIndexedValue(const std::vector< unsigned char > &c_val, ConstantExpr &index, const unsigned int size)
static ref< Expr > createAndExpr(const ref< Expr > &l, ref< Expr > &r)
static std::vector< unsigned char > getByteValue(ref< Expr > &val)
static ref< Expr > createSubExpr(const ref< Expr > &l, ref< Expr > &r)
static ReadExpr * hasOrderedReads(ref< Expr > e)
unsigned Width
The type of an expression is simply its width, in bits.
Class representing a one byte read from an array.