about summary refs log tree commit diff homepage
path: root/lib
AgeCommit message (Collapse)Author
2022-01-05Remove outdated reference to klee_make_symbolic_nameCristian Cadar
2021-12-23Introduce termination categoriesFrank 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-20llvm13: llvm::APInt::toString has been moved to StringExtras.hLukas Zaoral
See: https://reviews.llvm.org/D103888
2021-12-20llvm13: CreateGEP no longer accepts nullptrLukas Zaoral
See: https://reviews.llvm.org/D105653
2021-12-20llvm13: CreateLoad API with implicit types has been deprecatedLukas Zaoral
See: https://github.com/llvm/llvm-project/commit/6312c53870897435b38881795460ad9f34bf9819
2021-12-20llvm13: llvm::fs::F_None has been removedLukas Zaoral
... and should be replaced with llvm::fs::OF_None since LLVM 7. See: https://reviews.llvm.org/D101506 https://github.com/llvm/llvm-project/commit/1f67a3cba9b09636c56e2109d8a35ae96dc15782
2021-12-20Support/FileHandling.cpp: rewrite to C++14Lukas Zaoral
2021-11-20Fixed fail with preferCex, removed relation from first argumentTaras Bereznyak
2021-11-02Core/Executor: use `nullptr` instead of `0`ᴀᴇꜱᴏᴘʜᴏʀ
Since KLEE requires C++14, we should prefer `nullptr` to plain `0`.
2021-10-27Module/RaiseAsm: Support i686 target as wellLukas Zaoral
Add i686 to the list of supporterd targets by this transformation pass.
2021-10-27Module/RaiseAsm: Fix crash when host and bitcode target triples differLukas Zaoral
RaiseAsm always created a target machine for the host target and not for the bitcode one. Therefore, KLEE could crash on i686 bitcode as x86_64 target machine cannot be used to raise i686 assembly. Fixes: LLVM ERROR: 64-bit code requested on a subtarget that doesn't support it!
2021-09-10llvm12: Implement llvm.abs intrinsicLukas 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-10llvm11: Handle llvm.roundeven instrinsicLukas Zaoral
See: https://reviews.llvm.org/D75670
2021-09-10llvm12: Implement llvm.{s,u}{max,min} intrinsicsLukas 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-10llvm12: VectorType::getNumElements() has been deprecatedLukas 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-10allocate memory objects for functionsJulian 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-04differentiate between partial and completed paths in summary and fix paths ↵Frank Busse
stats when not dumping states
2021-04-20Replaced 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-20Refactored maxStaticPctChecks into a sequence of conditions.Cristian Cadar
2021-04-20Added a warning when forking is skipped due to MaxStatic*Pct limits being ↵Cristian Cadar
reached
2021-04-20Added -max-static-pct-check-delay to replace the hardcoded delay after which ↵Cristian Cadar
the MaxStatic*Pct checks are performed.
2021-04-20Refactored MaxStatis*Pct conditions into a separate function.Cristian Cadar
2021-03-04[Z3] Handle the case when interruption caught by Z3Pavel Yatcheniy
2021-02-16Executor: remove obsolete special case for __cxa_{re,}throwJulian 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-16add ifdefs for C++ exception handlingJulian Büning
restoring old behavior without EH support
2020-12-04llvm11: CallBase::getParamAlignment has been deprecatedLukas Zaoral
and should be replaced with CallBase::getParamAlign
2020-12-04llvm11: GlobalValue::getAlignment has been removedLukas Zaoral
See: https://reviews.llvm.org/D80368
2020-12-04llvm11: IPConstantPropagationPass has been removedLukas Zaoral
See: https://reviews.llvm.org/D84447
2020-12-04llvm11: Composite and Sequential types were removedLukas Zaoral
See: https://reviews.llvm.org/D75660 https://reviews.llvm.org/D75661
2020-12-04llvm11: Use getCalledOperand instead of getCalledValueLukas 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-04llvm11: Make conversions from StringRef to std::string explicitLukas Zaoral
The same applies to SmallString. See: llvm/llvm-project@777180a#diff-497ba4c0c527a125d382b51a34f32542
2020-11-12Casting.h: isa_and_nonnull<>Julian Büning
2020-11-12Ref: implement operator bool()Julian Büning
2020-11-04Link to the different runtime libraries depending on the application to test.Martin Nowack
Currently, only 32bit vs. 64bit is supported.
2020-10-21fix Executor: remove UB from bindInstructionConstantsJulian Büning
2020-10-12searchers: more consistent formattingFrank Busse
2020-10-12DFS/BFS/RandomSearcher: replace loop with std::findFrank Busse
2020-10-12searchers: move implementations from .h to .cppFrank Busse
2020-10-12Searcher: remove addState/removeState functionsFrank Busse
2020-10-12MergingSearcher: remove random-path incompatibilityFrank Busse
2020-10-12searchers: clean up, add documentationFrank Busse
2020-10-12address MartinNowack's remaining feedbackJulian Büning
2020-10-12Exception handling only for LLVM >= 8.0.0Julian Büning
2020-10-12use 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-12Implemented support for C++ ExceptionsFelix 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-09implement fneg instructionJulian Büning
2020-10-09fix: fabs() working on the wrong argumentDavid Laprell
2020-10-09Replace `NULL` with explicit `nullptr`Martin Nowack
2020-10-09Explicitly track global variables in getDirectCallTargetMartin Nowack
Global variables can't be a direct call target. Their values are read and treated as indirect call targets.
2020-09-26Replace 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.