10#ifndef KLEE_STPBUILDER_H 
   11#define KLEE_STPBUILDER_H 
   13#include "klee/Config/config.h" 
   20#include <stp/c_interface.h> 
   52    operator bool () { 
return H->
expr; }
 
   53    operator ::VCExpr () { 
return H->
expr; }
 
  111  ::VCExpr 
buildVar(
const char *name, 
unsigned width);
 
  112  ::VCExpr 
buildArray(
const char *name, 
unsigned indexWidth, 
unsigned valueWidth);
 
void vc_DeleteExpr(void *)
 
ExprHandle(::VCExpr _expr)
 
ExprHandle & operator=(const ExprHandle &b)
 
ExprHandle(const ExprHandle &b)
 
ExprHolder(const ::VCExpr _expr)
 
virtual ~STPArrayExprHash()
 
ExprHandle constructUDivByConstant(ExprHandle expr_n, unsigned width, uint64_t d)
 
ExprHandle bvOne(unsigned width)
 
ExprHandle bvMinusOne(unsigned width)
 
ExprHandle eqExpr(ExprHandle a, ExprHandle b)
 
ExprHandle bvRightShift(ExprHandle expr, unsigned shift)
 
ExprHandle extractPartialShiftValue(ExprHandle shift, unsigned width, unsigned &shiftBits)
 
ExprHandle getInitialRead(const Array *os, unsigned index)
 
ExprHandle bvZExtConst(unsigned width, uint64_t value)
 
ExprHandle bvConst64(unsigned width, uint64_t value)
 
::VCExpr getArrayForUpdate(const Array *root, const UpdateNode *un)
 
ExprHandle constructAShrByConstant(ExprHandle expr, unsigned shift, ExprHandle isSigned)
 
ExprHandle constructSDivByConstant(ExprHandle expr_n, unsigned width, uint64_t d)
 
::VCExpr buildVar(const char *name, unsigned width)
 
ExprHandle bvExtract(ExprHandle expr, unsigned top, unsigned bottom)
 
ExprHandle bvZero(unsigned width)
 
ExprHandle bvVarLeftShift(ExprHandle expr, ExprHandle shift)
 
STPArrayExprHash _arr_hash
 
::VCExpr getInitialArray(const Array *os)
 
ExprHandle bvLeftShift(ExprHandle expr, unsigned shift)
 
ExprHandle construct(ref< Expr > e)
 
ExprHandle bvVarRightShift(ExprHandle expr, ExprHandle shift)
 
ExprHandle bvSExtConst(unsigned width, uint64_t value)
 
ExprHandle bvBoolExtract(ExprHandle expr, int bit)
 
ExprHandle construct(ref< Expr > e, int *width_out)
 
ExprHandle constructMulByConstant(ExprHandle expr, unsigned width, uint64_t x)
 
ExprHandle bvConst32(unsigned width, uint32_t value)
 
::VCExpr buildArray(const char *name, unsigned indexWidth, unsigned valueWidth)
 
STPBuilder(::VC _vc, bool _optimizeDivides=true)
 
ExprHandle constructActual(ref< Expr > e, int *width_out)
 
ExprHandle bvVarArithRightShift(ExprHandle expr, ExprHandle shift)
 
ExprHashMap< std::pair< ExprHandle, unsigned > > constructed
 
Class representing a byte update of an array.