klee
klee::ExprBuilder Class Referenceabstract

ExprBuilder - Base expression builder class. More...

#include <ExprBuilder.h>

Public Member Functions

virtual ~ExprBuilder ()
 
virtual ref< Expr > Constant (const llvm::APInt &Value)=0
 
virtual ref< Expr > NotOptimized (const ref< Expr > &Index)=0
 
virtual ref< Expr > Read (const UpdateList &Updates, const ref< Expr > &Index)=0
 
virtual ref< Expr > Select (const ref< Expr > &Cond, const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Concat (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Extract (const ref< Expr > &LHS, unsigned Offset, Expr::Width W)=0
 
virtual ref< Expr > ZExt (const ref< Expr > &LHS, Expr::Width W)=0
 
virtual ref< Expr > SExt (const ref< Expr > &LHS, Expr::Width W)=0
 
virtual ref< Expr > Add (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Sub (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Mul (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > UDiv (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > SDiv (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > URem (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > SRem (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Not (const ref< Expr > &LHS)=0
 
virtual ref< Expr > And (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Or (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Xor (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Shl (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > LShr (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > AShr (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Eq (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Ne (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Ult (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Ule (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Ugt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Uge (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Slt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Sle (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Sgt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< Expr > Sge (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
ref< Expr > False ()
 
ref< Expr > True ()
 
ref< Expr > Constant (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: