Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-03-17 | LLVM < 6 leftovers | Julian Büning | |
2022-03-17 | remove LLVM < 6 from sources | Frank Busse | |
2022-03-09 | Core/Executor: Fix unaligned write of fp80 arguments | Lukáš Zaoral | |
... in Executor::callExternalFunction. Fixes the following error reported in Feature/VarArg{Alignment,LongDouble}.c tests: lib/Expr/Expr.cpp:366:5: runtime error: store to misaligned address 0x7ffc011d3528 for type 'long double', which requires 16 byte alignment | |||
2022-03-09 | Core/ExecutionState: Fix uninitialized reads in unit tests | Lukáš Zaoral | |
... by initialising all members of fundamental types of the ExecutionState class. Fixes the following error in SearcherTest.{Two,}RandomPath unit tests: lib/Core/ExecutionState.cpp:114:22: runtime error: load of value 254, which is not a valid value for type 'bool' | |||
2022-01-07 | stats: remove reachableUncovered (unused) | Frank Busse | |
2022-01-06 | Comment the code dealing with un/flushed bytes, and resolve old naming issue ↵ | Cristian Cadar | |
by renaming flushMask to unflushedMask | |||
2022-01-05 | introduce BranchTypes | Frank Busse | |
2022-01-05 | Remove outdated reference to klee_make_symbolic_name | Cristian Cadar | |
2021-12-23 | Introduce termination categories | Frank Busse | |
Track all path terminations: esp. for debugging or visualising a persistent process tree (with or without full MoKlee integration) it is helpful to know the exact reason (StateTerminationType) why a path terminated. | |||
2021-12-20 | llvm13: CreateGEP no longer accepts nullptr | Lukas Zaoral | |
See: https://reviews.llvm.org/D105653 | |||
2021-12-20 | llvm13: CreateLoad API with implicit types has been deprecated | Lukas Zaoral | |
See: https://github.com/llvm/llvm-project/commit/6312c53870897435b38881795460ad9f34bf9819 | |||
2021-11-20 | Fixed fail with preferCex, removed relation from first argument | Taras Bereznyak | |
2021-11-02 | Core/Executor: use `nullptr` instead of `0` | ᴀᴇꜱᴏᴘʜᴏʀ | |
Since KLEE requires C++14, we should prefer `nullptr` to plain `0`. | |||
2021-09-10 | llvm12: Implement llvm.abs intrinsic | Lukas Zaoral | |
The vector variants are not implemented at the moment. See: https://reviews.llvm.org/D84125 Co-authored-by: Lukas Zaoral <lzaoral@redhat.com> Co-authored-by: Martin Nowack <m.nowack@imperial.ac.uk> | |||
2021-09-10 | llvm12: Implement llvm.{s,u}{max,min} intrinsics | Lukas Zaoral | |
The vector variants are not implemented at the moment. See: https://reviews.llvm.org/D84125 Co-authored-by: Lukas Zaoral <lzaoral@redhat.com> Co-authored-by: Martin Nowack <m.nowack@imperial.ac.uk> | |||
2021-09-10 | llvm12: VectorType::getNumElements() has been deprecated | Lukas Zaoral | |
... and has already been removed from the LLVM 13 source tree. See: https://reviews.llvm.org/D78127 https://reviews.llvm.org/D95570 | |||
2021-05-10 | allocate memory objects for functions | Julian Büning | |
Before, we reused the llvm::Function* value in the target program, even though it stems from KLEE's own address space. This leads to non-deterministic function pointers, even with --allocate-determ. This issue was identified in the MoKLEE paper. Now, we allocate a memory object per function, for its (potentially) deterministic address. Mapping this address back to llvm::Functions is done by the legalFunctions map. Also, pointer width now depends on the target, not the host. | |||
2021-05-04 | differentiate between partial and completed paths in summary and fix paths ↵ | Frank Busse | |
stats when not dumping states | |||
2021-04-20 | Replaced the time-based delay after which the max-static-*-pct checks are ↵ | Cristian Cadar | |
performed with one expressed in terms of number of forks. | |||
2021-04-20 | Refactored maxStaticPctChecks into a sequence of conditions. | Cristian Cadar | |
2021-04-20 | Added a warning when forking is skipped due to MaxStatic*Pct limits being ↵ | Cristian Cadar | |
reached | |||
2021-04-20 | Added -max-static-pct-check-delay to replace the hardcoded delay after which ↵ | Cristian Cadar | |
the MaxStatic*Pct checks are performed. | |||
2021-04-20 | Refactored MaxStatis*Pct conditions into a separate function. | Cristian Cadar | |
2021-02-16 | Executor: remove obsolete special case for __cxa_{re,}throw | Julian Büning | |
__cxa_throw and __cxa_rethrow were not handled by special function handlers in the final version of #966 (which introduced support for C++ exception handling) | |||
2021-02-16 | add ifdefs for C++ exception handling | Julian Büning | |
restoring old behavior without EH support | |||
2020-12-04 | llvm11: CallBase::getParamAlignment has been deprecated | Lukas Zaoral | |
and should be replaced with CallBase::getParamAlign | |||
2020-12-04 | llvm11: GlobalValue::getAlignment has been removed | Lukas Zaoral | |
See: https://reviews.llvm.org/D80368 | |||
2020-12-04 | llvm11: Composite and Sequential types were removed | Lukas Zaoral | |
See: https://reviews.llvm.org/D75660 https://reviews.llvm.org/D75661 | |||
2020-12-04 | llvm11: Use getCalledOperand instead of getCalledValue | Lukas Zaoral | |
CallBase::getCalledValue has been deprecated by getCalledOperand since LLVM 8 and has been removed in LLVM 11 See: https://reviews.llvm.org/D78882 | |||
2020-12-04 | llvm11: Make conversions from StringRef to std::string explicit | Lukas Zaoral | |
The same applies to SmallString. See: llvm/llvm-project@777180a#diff-497ba4c0c527a125d382b51a34f32542 | |||
2020-11-12 | Casting.h: isa_and_nonnull<> | Julian Büning | |
2020-11-12 | Ref: implement operator bool() | Julian Büning | |
2020-11-04 | Link to the different runtime libraries depending on the application to test. | Martin Nowack | |
Currently, only 32bit vs. 64bit is supported. | |||
2020-10-21 | fix Executor: remove UB from bindInstructionConstants | Julian Büning | |
2020-10-12 | searchers: more consistent formatting | Frank Busse | |
2020-10-12 | DFS/BFS/RandomSearcher: replace loop with std::find | Frank Busse | |
2020-10-12 | searchers: move implementations from .h to .cpp | Frank Busse | |
2020-10-12 | Searcher: remove addState/removeState functions | Frank Busse | |
2020-10-12 | MergingSearcher: remove random-path incompatibility | Frank Busse | |
2020-10-12 | searchers: clean up, add documentation | Frank Busse | |
2020-10-12 | address MartinNowack's remaining feedback | Julian Büning | |
2020-10-12 | Exception handling only for LLVM >= 8.0.0 | Julian Büning | |
2020-10-12 | use isa<> and explicit nullptr-check for compilation with older LLVM ↵ | Felix Rath | |
versions, also mark two errors as ExecErrors, as these should not be caused by users | |||
2020-10-12 | Implemented support for C++ Exceptions | Felix Rath | |
We implement the Itanium ABI unwinding base-API, and leave the C++-specific parts to libcxxabi. Co-authored-by: Lukas Wölfer <lukas.woelfer@rwth-aachen.de> | |||
2020-10-09 | implement fneg instruction | Julian Büning | |
2020-10-09 | fix: fabs() working on the wrong argument | David Laprell | |
2020-09-26 | Replace llvm::CallSite with llvm::CallBase on LLVM 8+ | Lukas Zaoral | |
This is in preparation for LLVM 11 as the llvm:CallSite class has been removed. | |||
2020-09-03 | Guard process-tree compression with a command-line switch | Sebastian Poeplau | |
2020-09-03 | Fix PTree::remove to clean the tree properly | Sebastian Poeplau | |
The previous version left unnecessary intermediate nodes behind, sometimes leading to very long paths in the tree. | |||
2020-09-02 | More robust handling of unknown intrinsics | Alastair Reid | |
- If an unknown intrinsic appears in the bitcode file, it is reported but execution can proceed. - If an unknown intrinsic is encountered during execution of some path, - the intrinsic is reported - this path is treated as an error - execution of other paths can proceed To be more precise, there is a list of "known unknown intrinsics". Intrinsics not on this list will prevent execution. |