about summary refs log tree commit diff homepage
path: root/lib/Core
AgeCommit message (Collapse)Author
2023-03-23stats: add QCacheHits/MissesFrank Busse
2023-03-23stats: add InhibitedForksFrank Busse
2023-03-23remove obsolete headerDaniel Schemmel
2023-03-22Change `llvm_map_components_to_libnames` to `llvm_config` CMake functionMartin Nowack
With recent LLVM versions, this should allow to link against dynamic LLVM libraries.
2023-03-20llvm14: PointerType::getElementType() was deprecatedLukáš Zaoral
... for LLVM 14 in [1] and has already been removed from the LLVM 15 branch in [2]. Some changes are only temporary to silence the warning though, as Type::getPointerElementType() is planned to be removed as well. [3] [1] https://reviews.llvm.org/D117885/new/ [2] https://github.com/llvm/llvm-project/commit/d593cf7 [3] https://llvm.org/docs/OpaquePointers.html#migration-instructions
2023-03-17[cmake] Use LLVM's CMake functionality onlyMartin Nowack
LLVM became more complex, use LLVM's CMake functionality directly instead of replicating this behaviour in KLEE's build system. Use the correct build flags provided by LLVM itself. This is influenced by the way LLVM is built in the first place. Remove older CMake support (< 3.0).
2023-03-16Integrate KDAlloc into KLEEDaniel Schemmel
2022-09-26Improve the message for when large arrays become symbolic. Only print this ↵Cristian Cadar
warning once per array. Add test case.
2022-09-14Eliminate .undefined_behavior.err category and simplify testsPavel
2022-09-14Introduce separate categories for different kinds of undefined behaviorPavel
2022-09-14Support UBSan-enabled binariesPavel Yatcheniy
2022-07-24Support arguments of width 128, 256 and 512 bits for external callsPavel
2022-07-04Inline asm external callMikhail
2022-06-30rename CallSite to CallBaseFrank Busse
2022-06-30remove LLVM < 9Frank Busse
2022-06-26Intrinsics: Add support for @llvm.f{ma,muladd}.f*Lukáš Zaoral
2022-06-15Spelling Fixesm-davis
2022-06-13.err files: minor readability changes to stack trace outputFrank Busse
2022-06-13Update SpecialFunctionHandler.cppChaoqi Zhang
use size() to get N in bind(), just like the way in prepare().
2022-04-01Remove unnecessary call to deprecated function sqlite3_enable_shared_cacheCristian Cadar
2022-03-17remove obsolete KLEE_LLVM legacy definesJulian Büning
2022-03-17LLVM < 6 leftoversJulian Büning
2022-03-17remove LLVM < 6 from sourcesFrank Busse
2022-03-09Core/Executor: Fix unaligned write of fp80 argumentsLukáš 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-09Core/ExecutionState: Fix uninitialized reads in unit testsLukáš 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-07stats: remove reachableUncovered (unused)Frank Busse
2022-01-06Comment the code dealing with un/flushed bytes, and resolve old naming issue ↵Cristian Cadar
by renaming flushMask to unflushedMask
2022-01-05introduce BranchTypesFrank Busse
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: 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-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-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-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-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: 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