klee
klee::ExprBuilder Class Referenceabstract

ExprBuilder - Base expression builder class. More...

#include <ExprBuilder.h>

Public Member Functions

virtual ~ExprBuilder ()
 
virtual ref< ExprConstant (const llvm::APInt &Value)=0
 
virtual ref< ExprNotOptimized (const ref< Expr > &Index)=0
 
virtual ref< ExprRead (const UpdateList &Updates, const ref< Expr > &Index)=0
 
virtual ref< ExprSelect (const ref< Expr > &Cond, const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprConcat (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprExtract (const ref< Expr > &LHS, unsigned Offset, Expr::Width W)=0
 
virtual ref< ExprZExt (const ref< Expr > &LHS, Expr::Width W)=0
 
virtual ref< ExprSExt (const ref< Expr > &LHS, Expr::Width W)=0
 
virtual ref< ExprAdd (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSub (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprMul (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUDiv (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSDiv (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprURem (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSRem (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprNot (const ref< Expr > &LHS)=0
 
virtual ref< ExprAnd (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprOr (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprXor (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprShl (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprLShr (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprAShr (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprEq (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprNe (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUlt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUle (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUgt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUge (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSlt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSle (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSgt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSge (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
ref< ExprFalse ()
 
ref< ExprTrue ()
 
ref< ExprConstant (uint64_t Value, Expr::Width W)
 

Protected Member Functions

 ExprBuilder ()
 

Detailed Description

ExprBuilder - Base expression builder class.

Definition at line 17 of file ExprBuilder.h.

Constructor & Destructor Documentation

◆ ExprBuilder()

ExprBuilder::ExprBuilder ( )
protected

Definition at line 14 of file ExprBuilder.cpp.

◆ ~ExprBuilder()

ExprBuilder::~ExprBuilder ( )
virtual

Definition at line 17 of file ExprBuilder.cpp.

Member Function Documentation

◆ Add()

virtual ref< Expr > klee::ExprBuilder::Add ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ And()

virtual ref< Expr > klee::ExprBuilder::And ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ AShr()

virtual ref< Expr > klee::ExprBuilder::AShr ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Concat()

virtual ref< Expr > klee::ExprBuilder::Concat ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Constant() [1/2]

virtual ref< Expr > klee::ExprBuilder::Constant ( const llvm::APInt &  Value)
pure virtual

Referenced by klee::ExprOptimizer::buildConstantSelectExpr(), klee::ExprOptimizer::buildMixedSelectExpr(), and Constant().

Here is the caller graph for this function:

◆ Constant() [2/2]

ref< Expr > klee::ExprBuilder::Constant ( uint64_t  Value,
Expr::Width  W 
)
inline

Definition at line 68 of file ExprBuilder.h.

References Constant().

Here is the call graph for this function:

◆ Eq()

virtual ref< Expr > klee::ExprBuilder::Eq ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Extract()

virtual ref< Expr > klee::ExprBuilder::Extract ( const ref< Expr > &  LHS,
unsigned  Offset,
Expr::Width  W 
)
pure virtual

◆ False()

ref< Expr > klee::ExprBuilder::False ( )
inline

Definition at line 64 of file ExprBuilder.h.

References klee::ConstantExpr::alloc(), and klee::Expr::Bool.

Here is the call graph for this function:

◆ LShr()

virtual ref< Expr > klee::ExprBuilder::LShr ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Mul()

virtual ref< Expr > klee::ExprBuilder::Mul ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Ne()

virtual ref< Expr > klee::ExprBuilder::Ne ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Not()

virtual ref< Expr > klee::ExprBuilder::Not ( const ref< Expr > &  LHS)
pure virtual

◆ NotOptimized()

virtual ref< Expr > klee::ExprBuilder::NotOptimized ( const ref< Expr > &  Index)
pure virtual

◆ Or()

virtual ref< Expr > klee::ExprBuilder::Or ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Read()

virtual ref< Expr > klee::ExprBuilder::Read ( const UpdateList Updates,
const ref< Expr > &  Index 
)
pure virtual

◆ SDiv()

virtual ref< Expr > klee::ExprBuilder::SDiv ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Select()

virtual ref< Expr > klee::ExprBuilder::Select ( const ref< Expr > &  Cond,
const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ SExt()

virtual ref< Expr > klee::ExprBuilder::SExt ( const ref< Expr > &  LHS,
Expr::Width  W 
)
pure virtual

◆ Sge()

virtual ref< Expr > klee::ExprBuilder::Sge ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Sgt()

virtual ref< Expr > klee::ExprBuilder::Sgt ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Shl()

virtual ref< Expr > klee::ExprBuilder::Shl ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Sle()

virtual ref< Expr > klee::ExprBuilder::Sle ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Slt()

virtual ref< Expr > klee::ExprBuilder::Slt ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ SRem()

virtual ref< Expr > klee::ExprBuilder::SRem ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Sub()

virtual ref< Expr > klee::ExprBuilder::Sub ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ True()

ref< Expr > klee::ExprBuilder::True ( )
inline

Definition at line 66 of file ExprBuilder.h.

References klee::ConstantExpr::alloc(), and klee::Expr::Bool.

Here is the call graph for this function:

◆ UDiv()

virtual ref< Expr > klee::ExprBuilder::UDiv ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Uge()

virtual ref< Expr > klee::ExprBuilder::Uge ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Ugt()

virtual ref< Expr > klee::ExprBuilder::Ugt ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Ule()

virtual ref< Expr > klee::ExprBuilder::Ule ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Ult()

virtual ref< Expr > klee::ExprBuilder::Ult ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ URem()

virtual ref< Expr > klee::ExprBuilder::URem ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ Xor()

virtual ref< Expr > klee::ExprBuilder::Xor ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

◆ ZExt()

virtual ref< Expr > klee::ExprBuilder::ZExt ( const ref< Expr > &  LHS,
Expr::Width  W 
)
pure virtual

The documentation for this class was generated from the following files: