diff options
author | Cristian Cadar <c.cadar@imperial.ac.uk> | 2019-03-11 10:45:02 +0000 |
---|---|---|
committer | MartinNowack <martin.nowack@gmail.com> | 2019-03-13 10:25:33 +0000 |
commit | 5766e55b1ff24aef508b7c2a257725e66af24b99 (patch) | |
tree | c922896d96015038e3071f1bf107bae43c6f8072 /lib/Expr | |
parent | 256153c442db75a89c04a1ec854c03ea7b1e8b61 (diff) | |
download | klee-5766e55b1ff24aef508b7c2a257725e66af24b99.tar.gz |
Added options in ArrayExprOptimizer.cpp to the constraint solving category
Diffstat (limited to 'lib/Expr')
-rw-r--r-- | lib/Expr/ArrayExprOptimizer.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/lib/Expr/ArrayExprOptimizer.cpp b/lib/Expr/ArrayExprOptimizer.cpp index e911e197..d043783a 100644 --- a/lib/Expr/ArrayExprOptimizer.cpp +++ b/lib/Expr/ArrayExprOptimizer.cpp @@ -15,6 +15,7 @@ #include "klee/Config/Version.h" #include "klee/ExprBuilder.h" #include "klee/Internal/Support/ErrorHandling.h" +#include "klee/OptionCategories.h" #include "klee/util/Assignment.h" #include "klee/util/BitArray.h" @@ -32,28 +33,32 @@ using namespace klee; namespace klee { llvm::cl::opt<ArrayOptimizationType> OptimizeArray( "optimize-array", - llvm::cl::values( - clEnumValN(ALL, "all", "Combining index and value transformations"), - clEnumValN(INDEX, "index", "Index-based transformation"), - clEnumValN(VALUE, "value", "Value-based transformation at branch (both " - "concrete and concrete/symbolic)") - KLEE_LLVM_CL_VAL_END), + llvm::cl::values(clEnumValN(ALL, "all", + "Combining index and value transformations"), + clEnumValN(INDEX, "index", "Index-based transformation"), + clEnumValN(VALUE, "value", + "Value-based transformation at branch (both " + "concrete and concrete/symbolic)") + KLEE_LLVM_CL_VAL_END), llvm::cl::init(NONE), llvm::cl::desc("Optimize accesses to either concrete or concrete/symbolic " - "arrays. (default=off)")); + "arrays. (default=off)"), + llvm::cl::cat(klee::SolvingCat)); llvm::cl::opt<double> ArrayValueRatio( "array-value-ratio", llvm::cl::desc("Maximum ratio of unique values to array size for which the " "value-based transformations are applied."), - llvm::cl::init(1.0), llvm::cl::value_desc("Unique Values / Array Size")); + llvm::cl::init(1.0), llvm::cl::value_desc("Unique Values / Array Size"), + llvm::cl::cat(klee::SolvingCat)); llvm::cl::opt<double> ArrayValueSymbRatio( "array-value-symb-ratio", llvm::cl::desc("Maximum ratio of symbolic values to array size for which " "the mixed value-based transformations are applied."), - llvm::cl::init(1.0), llvm::cl::value_desc("Symbolic Values / Array Size")); -}; + llvm::cl::init(1.0), llvm::cl::value_desc("Symbolic Values / Array Size"), + llvm::cl::cat(klee::SolvingCat)); +}; // namespace klee ref<Expr> extendRead(const UpdateList &ul, const ref<Expr> index, Expr::Width w) { |