about summary refs log tree commit diff homepage
AgeCommit message (Collapse)Author
2012-07-26Patch by Dan Liew that adds support for building Doxygen out-of-source.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@160795 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-26Patch by Dan Liew: "Improved AutoRegen script so that it supports newer ↵Cristian Cadar
versions of autoconf" git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@160793 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-26Patch by Dan Liew: "fixed mistake in autoconf substitution variable name."Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@160792 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-26Forgot a cl::desc in the previous patch...Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@160781 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-26Documented several KLEE options.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@160779 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-20Added links to two more systems based on KLEE: Cloud9 and KleeNet.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@160548 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-20Fixed bug FPToSI bug reported by Peng Li. Added a simple test case. Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@160547 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-21Patch by Paul Marinescu improving klee-stats: "klee-stats now reports avg ↵Cristian Cadar
and max memory consumption and states. A bug in the compare-by=<key> functionality has been fixed and the --compare-at=[<value>|last] option has been added. Specifying a value reports all statistics at the point where <key> had value <value>; specifying 'last' reports at the largest <key> value common to all executions" git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@158948 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20Fixed a minor issue related to an error path in --posix-runtime mode.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@158835 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-20Web page updates: (1) Improved documentation on files generated byCristian Cadar
KLEE; (2) Fixed a couple of errors in Tutorial One, pointed out by Hristina Palikareva. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@158834 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19Patch by Seungbeom Kim for compatibility with old LLVM 2.6.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@158721 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19Patch by Oscar Dustmann: "A pure-debug loop that only containedCristian Cadar
assertions was intended to be prevented to being seen by the compiler if and only if assertions were off altogher. However, due to the omission of the letter 'n' in ifndef, the loop was compiled if and only if assertions were *ON*. Thus the expression inside the assertion, was *never* compiled, let alone checked in 'Foo+Asserts' builds. Also, it was syntactically incorrect." git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@158720 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-01Patch by Oscar Dustmann fixing a buffer overflow when long names areCristian Cadar
used: "patch for STPBuilder.cpp that allows for arbitrary length symbol names while still limiting the unique string to 32 bytes." git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@157820 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25Patch by Paul Marinescu that makes KLEE gracefully fail on assembly code.Cristian Cadar
Includes test case. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@157463 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-10Lowering support for the llvm.uadd.with.overflow intrinsic.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154367 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-08Fixed --max-stp-time, which wasn't working unless --use-forked-stp wasCristian Cadar
also used. Thanks to Paul Marinescu for reporting and debugging this. The patch also disables the STP timeout by default. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154300 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-07Added back the unittests to GetStarted, after Peter's recent fix.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154257 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-07Patch by Seungbeom that fixes a memory management issue with Refs, andCristian Cadar
associated unit test. More details at http://keeda.stanford.edu/pipermail/klee-commits/2012-February/000904.html git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154256 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-07Fix ConstantExpr::is{Zero,One,AllOnes} for arbitrary bitwidths.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154245 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-07Fix compilation with LLVM trunk.Peter Collingbourne
Patch by arrowdodger! git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154238 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-07Catch up with hashing changes.Peter Collingbourne
Patch by arrowdodger! git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154237 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-07Fix unittests build when using external STP.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154236 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-05Removed unnecessary --init-env option.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154110 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-05Updated and simplified installation instructions. Cristian Cadar
Switched to LLVM 2.9 and to SVN version 940 of STP. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@154107 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-30Four new KLEE-related publications.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@153745 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-26STPBuilder: fix getShiftBits properly.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@153475 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-26STPBuilder: fix bv{Zero,One,MinusOne} for the case where width>64Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@153474 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-26STPBuilder: fix ConstantExpr builder for the case where width>64 butPeter Collingbourne
is not a multiple of 64. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@153473 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-13Compatability fix for previous revision. By my mistake one string went out ↵Stepan Dyatkovskiy
of #if scobes. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@152625 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-11llvm::SwitchInstStepan Dyatkovskiy
Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@152534 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-08Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012:Stepan Dyatkovskiy
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120130/136146.html Implemented CaseIterator and it solves almost all described issues: we don't need to mix operand/case/successor indexing anymore. Base iterator class is implemented as a template since it may be initialized either from "const SwitchInst*" or from "SwitchInst*". ConstCaseIt is just a read-only iterator. CaseIt is read-write iterator; it allows to change case successor and case value. Usage of iterator allows totally remove resolveXXXX methods. All indexing convertions done automatically inside the iterator's getters. Main way of iterator usage looks like this: SwitchInst *SI = ... // intialize it somehow for (SwitchInst::CaseIt i = SI->caseBegin(), e = SI->caseEnd(); i != e; ++i) { BasicBlock *BB = i.getCaseSuccessor(); ConstantInt *V = i.getCaseValue(); // Do something. } If you want to convert case number to TerminatorInst successor index, just use getSuccessorIndex iterator's method. If you want initialize iterator from TerminatorInst successor index, use CaseIt::fromSuccessorIndex(...) method. There are also related changes in llvm-clients: klee and clang. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@152299 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-12Teach KLEE how to handle new ConstantDataSequential type.Peter Collingbourne
Patch by arrowdodger! git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@150355 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-12Update for LLVM changes - there is no more "unwind" instruction.Peter Collingbourne
Patch by arrowdodger! git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@150354 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-01Second compatability fix for SwitchInst refactoring (added compatability ↵Stepan Dyatkovskiy
with llvm versions < 3.1). git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@149528 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-01Compatability fix for SwitchInst refactoring.Stepan Dyatkovskiy
The purpose of refactoring is to hide operand roles from SwitchInst user (programmer). If you want to play with operands directly, probably you will need lower level methods than SwitchInst ones (TerminatorInst or may be User). After this patch we can reorganize SwitchInst operands and successors as we want. What was done: 1. Changed semantics of index inside the getCaseValue method: getCaseValue(0) means "get first case", not a condition. Use getCondition() if you want to resolve the condition. I propose don't mix SwitchInst case indexing with low level indexing (TI successors indexing, User's operands indexing), since it may be dangerous. 2. By the same reason findCaseValue(ConstantInt*) returns actual number of case value. 0 means first case, not default. If there is no case with given value, ErrorIndex will returned. 3. Added getCaseSuccessor method. I propose to avoid usage of TerminatorInst::getSuccessor if you want to resolve case successor BB. Use getCaseSuccessor instead, since internal SwitchInst organization of operands/successors is hidden and may be changed in any moment. 4. Added resolveSuccessorIndex and resolveCaseIndex. The main purpose of these methods is to see how case successors are really mapped in TerminatorInst. 4.1 "resolveSuccessorIndex" was created if you need to level down from SwitchInst to TerminatorInst. It returns TerminatorInst's successor index for given case successor. 4.2 "resolveCaseIndex" converts low level successors index to case index that curresponds to the given successor. Note: There are also related compatability fix patches for dragonegg, klee, llvm-gcc-4.0, llvm-gcc-4.2, safecode, clang. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@149484 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-25Patch from Ben Gras which "makes Klee look for the libraries in theCristian Cadar
install location instead of the compile-tree location if a compile-time macro is enabled." git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@148961 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-18Updated uclibc archives to work with current installation instructions.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@148405 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-18Nice patch by Gang Hu, Heming Cui and Junfeng Yang fixing a memoryCristian Cadar
leak in KLEE. From Gang Hu: "The memory leak is caused by two reasons. First, the MemoryObject objects are not freed, until the MemoryManager is destroyed. Second, when KLEE allocates a non-fixed MemoryObject object, KLEE also allocates a block of memory which is the same as the object's size. This block of memory is never freed. So, this patch generally does reference counting on the MemoryObject objects, and frees them as soon as the reference count drops to zero." Many thanks to Paul Marinescu as well, who tested this patch thoroughly on the Coreutils benchmarks. On 1h runs, the memory consumption typically goes down by 1-5%, but some applications which see more significant gains. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@148402 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-16Fixed help message in klee-stats.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@146741 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-13Fix STPBuilder::getShiftBits for non-power-of-2 bitwidths up to 64.Peter Collingbourne
(Yes, we should really be handling more bitwidths here.) git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@146510 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-11Patch by Ben Gras for MINIX: no stat64 under MINIX.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@146353 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-11Patch by Ben Gras fixing a few minor issues: adds missing includes,Cristian Cadar
fixes the ntohs prototype in klee-libc, and removes some unused code. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@146352 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-11Patch by Paul Marinescu that fixes an issue causing KLEE to fail on some ↵Cristian Cadar
platforms with KLEE: ERROR: unable to load symbol(__dso_handle) while initializing globals. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@146351 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-11This is a workaround for the infinite loop reported at Cristian Cadar
http://keeda.stanford.edu/pipermail/klee-dev/2011-August/000723.html KLEE needs to use --fno-builtin when compiling its version of memset. However, this patch also adds the workaround suggested by Paul in the thread above, since support for --fno-builtin was added to llvm-gcc only after LLVM 2.9 was released. More details about this issue can be found here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110411/119376.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110711/124131.html Thanks to Paul and arrowdodger for their explanations and patches. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@146350 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Update for changes in LLVM trunk. Original patch by arrowdodger!Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@146178 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29Updates for LLVM 3.1.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@145365 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-10Added new publication from Columbia.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@144295 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04Patch by Tom Bergan that fixes multi-byte reads on big-endian architectures.Cristian Cadar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@143693 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17Fix some -Wunused-variable warnings.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@142310 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-27Changed Tutorial 1, which was causing confusion due to differences inCristian Cadar
LLVM code generation before and after LLVM 2.8. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@140602 91177308-0d34-0410-b5e6-96231b3b80d8