about summary refs log tree commit diff homepage
AgeCommit message (Collapse)Author
2009-06-08Add some query logs in utils/data/Queries (for 3 and 4 byte pcregrep)Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73057 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08FastCexSolver: Stub out infrastructure for propogating exact values & provingDaniel Dunbar
validity. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73055 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08FastCexSolver: Add exact value contents to CexObjectData.Daniel Dunbar
- The exact contents are a conservative approximation for the values of each array location, to be used for proving valid queries. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73054 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08FastCexSolver: Rename forceExprTo* to propogatePossible*Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73053 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08FastCexSolver: Lazily initialize object values and kill off ObjectFinder class.Daniel Dunbar
Also, explicitly manage the object data to avoid copy overhead. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73051 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08Kill off Concat::is[248]ByteConcat, and fix FastCexSolver for this case.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73049 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08Add klee::createDummySolver, the dummy solver always fails.Daniel Dunbar
- Useful as an alternative backend to STP for testing. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08Cleanup FastCexSolver:Daniel Dunbar
- Make CexObjectData members private. - Use std::vector instead of allocating memory by hand. - Factor out method which does the propogation from the various Solver routines. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73047 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08Fix a mistake in previous commit to turn asserts -> parse errors.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73046 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08kleaver: Use raw_ostream, and print some stats.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73045 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07Make sure that ExprEvaluator will fold constant expressions (klee never createsDaniel Dunbar
these, but the parser can). git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73033 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07Diagnose some more syntax errors instead of crashing.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73032 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07Fix typo.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73031 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07Make sure to include arrays to be evaluated in the set of used arrays.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73030 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07Implement array declarations.Daniel Dunbar
- Printing current prints all declarations, and we allow redefinition, since the printer doesn't know what has already been printed. - Names don't print right yet, since the Array* object doesn't have the name. - Various things are unsupported. o Array domain/range must be w32/w8. o Concrete initializers for arrays are unsupported. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73026 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07Don't delete decls before parsing is complete.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73023 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07Update test case.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73020 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07Make sure to make up a valid VersionResult on failures.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73019 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-07Eliminate anonymous versions.Daniel Dunbar
- For now, this means the isRooted flag for arrays isn't propogated to the kquery language. We should figure out how to do this, but allow anonymous versions isn't the right way. Also, improved the error on invalid writes a bit. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73018 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-06Document the KQuery language.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72997 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Fixed a division by zero triggered by straight-line code in klee-stats.Cristian Cadar
Added an error message when no directories are given. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72966 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Moved PrintStats.py to tool/klee-stats/Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72964 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Support counter example queries (at least, the restricted set that weDaniel Dunbar
use). - Arrays don't have sizes yet, so we don't get initial values correctly. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72939 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Support the extended query command syntax.Daniel Dunbar
- There are two optional lists following the constraints and the query expression. The first is a list of expressions to give values for and the second is a list of arrays to provide values for. - Update ExprPPrinter to accept extra arguments to print these arguments. - Add Parser support. - Add more ArrayDecl support. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72938 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Add Expr::is{Zero,True,False} methods.Daniel Dunbar
- These are too convenient to live without. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72937 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Turn an assert into a parse failure.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72935 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Don't evaluate queries if there were parse failures.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72934 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Add evaluation support to kleaver (now the default).Daniel Dunbar
- Currently only handles validity queries. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72933 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05llvm::Casting support for Kleaver AST nodes.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72931 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Set svn:ignore properties.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72925 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Clean up a number of unused variable warnings when building w/oDaniel Dunbar
asserts. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72924 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Remove some unnecessary uses of C++ exceptions.Daniel Dunbar
- PR4264. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72922 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Expr::print shouldn't introduce line breaks or extra formatting.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72921 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05Add test case.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72920 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05(llvm up) Update klee for introduction of f{add,sub,mul} instructions.Daniel Dunbar
- Please update & rebuild LLVM. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72919 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Make ConstantExpr's value and constructor private.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72863 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Sink getConstantValue into ConstantExpr.Daniel Dunbar
- Propogate ConstantExpr to various places, or cast as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72862 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Change Solver::getValue to make explicit that result is a ConstantExpr.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72860 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Finish removing uses of Expr::isConstant.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72859 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Start removing uses of Expr::isConstant.Daniel Dunbar
- These should use cast<>, isa<>, or dyn_cast<> as appropriate (or better yet, changed to use ref<ConstantExpr> when the type is known). git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72857 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Change ConstantExpr::{alloc,create} to return a ref<ConstantExpr>Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72853 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Moved MultiByteReads.pc in test/Expr/ParserCristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72851 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Fixed a bug in Kleaver's parser: APInt does not allow "truncation" toCristian Cadar
the same width. Added a test case that was previously triggering an assert violation. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72850 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Use dyn_cast<> instead of dyn_ref_cast.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72847 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Use cast<> instead of static_ref_cast.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72845 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Small changes to the web page (changed some links on the main page,Cristian Cadar
added a documentation page). git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Added a couple of tests for ReadLSB/MSB. Changed kleaver to write to stdout.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72841 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Fixed the code dealing with ReadLSB/ReadMSB, which was currentlyCristian Cadar
broken (it was written for n-ary Concats, but now we have binary Concats.) git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72840 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Implement simplify_type for ref<>Daniel Dunbar
- This allows dyn_cast<> and friends to be applied to a ref. For example, if (ConstantExpr *CE = dyn_cast<ConstantExpr>(foo)) { ... do something with CE ... } - This makes working with ref<Expr>s much more convenient, with the downside that it hides a potentially dangerous operation. Since the result is not itself a ref<>; clients are resposible for making sure the returned value is only used inside the lifetime of some other ref<>. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72839 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04TimingSolver shouldn't need a vtable.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72833 91177308-0d34-0410-b5e6-96231b3b80d8