#include "klee/Solver/Solver.h"
#include "klee/Expr/Constraints.h"
#include "klee/Expr/Expr.h"
#include "klee/Expr/ExprEvaluator.h"
#include "klee/Expr/ExprRangeEvaluator.h"
#include "klee/Expr/ExprVisitor.h"
#include "klee/Solver/IncompleteSolver.h"
#include "klee/Support/Debug.h"
#include "klee/Support/IntEvaluation.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <map>
#include <sstream>
#include <vector>
Go to the source code of this file.
|
static uint64_t | minOR (uint64_t a, uint64_t b, uint64_t c, uint64_t d) |
|
static uint64_t | maxOR (uint64_t a, uint64_t b, uint64_t c, uint64_t d) |
|
static uint64_t | minAND (uint64_t a, uint64_t b, uint64_t c, uint64_t d) |
|
static uint64_t | maxAND (uint64_t a, uint64_t b, uint64_t c, uint64_t d) |
|
llvm::raw_ostream & | operator<< (llvm::raw_ostream &os, const ValueRange &vr) |
|
static bool | propogateValues (const Query &query, CexData &cd, bool checkExpr, bool &isValid) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "cex-solver" |
◆ CexValueData
◆ maxAND()
static uint64_t maxAND |
( |
uint64_t |
a, |
|
|
uint64_t |
b, |
|
|
uint64_t |
c, |
|
|
uint64_t |
d |
|
) |
| |
|
static |
◆ maxOR()
static uint64_t maxOR |
( |
uint64_t |
a, |
|
|
uint64_t |
b, |
|
|
uint64_t |
c, |
|
|
uint64_t |
d |
|
) |
| |
|
static |
◆ minAND()
static uint64_t minAND |
( |
uint64_t |
a, |
|
|
uint64_t |
b, |
|
|
uint64_t |
c, |
|
|
uint64_t |
d |
|
) |
| |
|
static |
◆ minOR()
static uint64_t minOR |
( |
uint64_t |
a, |
|
|
uint64_t |
b, |
|
|
uint64_t |
c, |
|
|
uint64_t |
d |
|
) |
| |
|
static |
◆ operator<<()
llvm::raw_ostream & operator<< |
( |
llvm::raw_ostream & |
os, |
|
|
const ValueRange & |
vr |
|
) |
| |
|
inline |
◆ propogateValues()
static bool propogateValues |
( |
const Query & |
query, |
|
|
CexData & |
cd, |
|
|
bool |
checkExpr, |
|
|
bool & |
isValid |
|
) |
| |
|
static |
propogateValues - Propogate value ranges for the given query and return the propogation results.
- Parameters
-
query | - The query to propogate values for. |
cd | - The initial object values resulting from the propogation. |
checkExpr | - Include the query expression in the constraints to propogate. |
isValid | - If the propogation succeeds (returns true), whether the constraints were proven valid or invalid. |
- Returns
- - True if the propogation was able to prove validity or invalidity.
Definition at line 1008 of file FastCexSolver.cpp.
References klee::Query::constraints, CexData::dump(), CexData::evaluateExact(), CexData::evaluatePossible(), klee::Query::expr, klee::Expr::isFalse(), klee::Expr::isTrue(), CexData::propogateExactValue(), and CexData::propogatePossibleValue().
Referenced by FastCexSolver::computeInitialValues(), FastCexSolver::computeTruth(), and FastCexSolver::computeValue().