about summary refs log tree commit diff homepage
path: root/lib
AgeCommit message (Collapse)Author
2019-11-07Handle llvm.objectsize explicitlyMartin Nowack
llvm.objectsize is used in several optimisation during compile time. Lowering these intrinsics took a conservative approach returning always the value for unknown. Instead, lower to the object's real size, if possible. Otherwise, a conservative value is used. Since LLVM 4.0, the function `llvm::lowerObjectSizeCall()` does exactly this. Use this function or preserve the old behaviour for older LLVM versions.
2019-11-05Core: Executor, remove unused variableJiri Slaby
numSeeds is unused since commit 4eb050e2999b (ExecutorTimers: refactor and move to support lib), so remove it.
2019-11-05Mark all constant global memory objects as constantMartin Nowack
Fixes #264. We first aggregate all constant memory objects initialise them and initialise their counter parts in the concrete memory. After that, we mark memory objects as constant such that they can't be modified (i.e. this includes marking them symbolic).
2019-11-04Remove the duplicated check for DebugInfoIntrinsicHui Peng
2019-10-31Executor: fix missing default case in switch instructionFrank Busse
2019-10-31LLVM 9.0: fourth parameter for @llvm.objectsize()Julian Büning
2019-10-31support compilation against LLVM 9.0Julian Büning
2019-10-29ExecutorTimers: refactor and move to support libFrank Busse
- moves timer handling from Executor into support lib - introduces TimerGroup, removes TimerInfo/WriteStatsTimer/UpdateReachableTimer/WriteIStatsTimer classes - removes ExecutorTimers.cpp and ExecutorTimerInfo.h - removes -max-instruction-time flag (see #1114)
2019-10-29ExecutorTimers: remove signalling, fix endless looping forkFrank Busse
- adds -timer-interval threshold for timer checks - fixes #831
2019-10-08Executor.h: remove defined functions without implementationFrank Busse
2019-09-20refactor PTree: use unique_ptrFrank Busse
2019-09-20refactor PTree: remove split(), add attach() methodFrank Busse
2019-09-20Add saturated arithmetic intrinsicsMateusz Naściszewski
2019-09-03Moved solver-related header files into a separate klee/Solver/ directory.Cristian Cadar
2019-09-03Moved ConstructSolverChain.cpp to the Solver library.Cristian Cadar
2019-09-03Renamed CmdLineOptions.cpp to SolverCmdLine.cpp (in line with the associated ↵Cristian Cadar
header SolverCmdLine.h) and moved it to the Solver library.
2019-08-15ExecutorTimers: move dumpStates/dumpPTree into ExecutorFrank Busse
* creates two new methods: dumpStates, dumpPTree
2019-08-14Update basic block iterator after deleting instruction; add test caseMartin Nowack
2019-08-14fixed bug in IntrinsicCleaner trap cleanerMichael Bryman
2019-08-14Replace sprintf with snprintf throughout codebaseCristian Cadar
2019-08-12StatsTracker: switch from TRUNCATE to WAL journal modeFrank Busse
2019-08-01Renamed misspelled fileCristian Cadar
2019-07-30Use #include "klee/..." (instead of #include <klee/...>) consistently.Cristian Cadar
2019-07-30Consolidated Expr-related include files into a single include/klee/Expr ↵Cristian Cadar
directory. This improves the organization of the code, and also makes it easier to reuse Expr outside KLEE.
2019-07-23Refactor ConstraintManager to more modern coding standardsDaniel Schemmel
Eliminates -Wdeprecated-copy warnings Performed clang-format on touched file
2019-07-23Refactor ValueRange to more modern coding standardsDaniel Schemmel
Eliminates -Wdeprecated-copy warnings Performed partia clang-format on touched file
2019-06-04fix some incorrect first linesJulian Büning
2019-06-04make endif guard naming consistentJulian Büning
2019-06-04make include guard naming consistentJulian Büning
2019-06-04Fixed identifiers used in ifdefs to (1) not use reserved names and (2) use a ↵Cristian Cadar
consistent naming convention
2019-06-04Remove parenthesis around returns, as reported and discussed in #891Cristian Cadar
2019-05-31PTree: fix dump() methodFrank Busse
2019-05-30ExecutionState: remove fnAliasesJulian Büning
2019-05-30implement FunctionAliasPassJulian Büning
2019-05-30remove klee_alias_function()Julian Büning
this function can be used to modify the control flow of the program on different paths, enabling self-modifying code.
2019-05-28Implement handling of the llvm.fabs intrinsicFelix Rath
2019-04-04some minor refactoringsFrank Busse
2019-04-04Clean klee-stats, StatsTracker and cmakeTimotej Kapus
2019-04-04Change the .stats format into sqlite3Timotej Kapus
Improves querying of the .stats file, reduces its size, speeds up reads and writes and has better defined fail behaviour.
2019-04-02Add FreeBSD OS triple in RaiseAsmGleb Popov
2019-04-02Handle __assert() function as handleAssertFail. This assert variant is used ↵Gleb Popov
on FreeBSD
2019-04-02Fix build of Executor.cpp on FreeBSD.Gleb Popov
2019-03-21drop support for LLVM <= 3.7Julian Büning
2019-03-21remove copy of ScalarizerPass for LLVM 3.4Julian Büning
2019-03-21remove obsolete LegacyLLVMPassManagerTyJulian Büning
2019-03-21remove obsolete macro KLEE_LLVM_GEP_TYPEJulian Büning
2019-03-20STPSolver: C++11, add missing free, refactoringFrank Busse
2019-03-19Add support to assign debug instructions to optimised codeMartin Nowack
2019-03-19Use debugging information from newer LLVM versionsMartin Nowack
2019-03-19separate between instructions and functionsMartin Nowack