Commit Graph

239 Commits (f7903007eed26708b5590b77de2d34231637ec0a)

Author SHA1 Message Date
Josh Berdine a58bc25aa5 [sledge] Strengthen simplification of convert Exps 6 years ago
Timotej Kapus 6949a5ee68 [sledge] Add a todo for calls with inttoptr 6 years ago
Josh Berdine b14580d88b [sledge] Move locals from blocks to functions 6 years ago
Timotej Kapus 86e12cb1a3 [sledge] Add missing llvm passes to frontend.ml 6 years ago
Josh Berdine 330b266d28 [sledge] Rework function return value passing 6 years ago
Timotej Kapus 01e6c5c558 [sledge] [solver] add handling of trivial equality 6 years ago
Timotej Kapus a75a50215b [sledge] Add LLVM passes that reduce bitcode size 6 years ago
Timotej Kapus 1614f78f6d [sledge] Add a harness for lionhead fuzzers 6 years ago
Timotej Kapus 46f5667823 [sledge] Relax call instruction arguments 6 years ago
Timotej Kapus 551a03c4c9 [sledge] Simplify the printed symbolic heaps 6 years ago
Josh Berdine cfc1c8be36 [copyright] Remove years 6 years ago
Timotej Kapus 5a92171b26 [sledge] Print pre/post on function return 6 years ago
Timotej Kapus 0f61a97feb [sledge] Add non-failling alloc intrinsic 6 years ago
Timotej Kapus ad035a4cc7 [sledge] Fix handling of bitcasts in call instr 6 years ago
Josh Berdine 12bab4b16b [sledge] Add formal parameters to functions for return values 6 years ago
Josh Berdine 2440ee69ae [sledge] Preserve sharing of Func.parent 6 years ago
Timotej Kapus 2d69e17d51 [sledge] Add CL option to disable exceptions 6 years ago
Josh Berdine a0949495c1 [sledge] Translate `invoke abort` to `abort` 6 years ago
Josh Berdine f3bee3f513 [sledge] Print locations of globals in textual LLAIR 6 years ago
Josh Berdine d104f5e518 [sledge] Extend Exp.typ to binary and ternary ops 6 years ago
Timotej Kapus 65f3b10c99 [sledge] Fix crashing frontned 6 years ago
Timotej Kapus 9ef992394c [sledge] Put all the entry points in the config 6 years ago
Timotej Kapus b9ba97a2fd [sledge] Add globalopt pass to remove globals 6 years ago
Josh Berdine 4ea2cf9814 [sledge] Improve uncaught exceptions 6 years ago
Josh Berdine 6a2da2acc4 [sledge] Rework command line interface 6 years ago
Josh Berdine 9c277e9732 [sledge] Simplify Llair.pp 6 years ago
Timotej Kapus c8b063fb50 [sledge] Fix ~predicate label 6 years ago
Timotej Kapus cdd444b901 [sledge] Update internalize to handle other mains 6 years ago
Timotej Kapus e45a05a574 [sledge] fix LLVM assertion failure in xlate_global 6 years ago
Timotej Kapus 881a4d10af [sledge] Fix bound not bounding recursion 6 years ago
Josh Berdine 1e7b13bdcd [sledge] Add printers for some LLVM enums 6 years ago
Josh Berdine babe25fd29 [sledge] Fix translation of global initializers 6 years ago
Josh Berdine 00c5e1b9fe [sledge] Fix size in translation of global variables 6 years ago
Josh Berdine 62a3187f5d [sledge] Don't call Llvm.dispose_context as it leads to crashes in GC 6 years ago
Josh Berdine 14a15931f7 [sledge] Combine name and loc tables into one 6 years ago
Josh Berdine ccd2a92ba5 [sledge] Avoid Format in non-debug code 6 years ago
Josh Berdine d5c2468007 [sledge] Combine scan_locs and scan_names into a single pass 6 years ago
Josh Berdine 4d5970f693 [sledge] Only call Llvm_analysis.verify_module in debug mode 6 years ago
Josh Berdine da097679bd [sledge] Fix crash when trying to warn 6 years ago
Josh Berdine 611fb57d3a [sledge] Treat .bc or .ll input files as pre-linked bitcode 6 years ago
Josh Berdine 7ac04fa46a [sledge] Optimize finding functions by name 6 years ago
Timotej Kapus d37374dd8c [sledge] change input format 6 years ago
Josh Berdine 139a3d3e00 [sledge] Avoid calling Llvm.string_of_llvalue on instructions 6 years ago
Josh Berdine a3e7107969 [sledge] Optimize variable renaming in symbolic heaps 6 years ago
Josh Berdine e391a8a9b2 [sledge] Simplify Equality.map_exps 6 years ago
Josh Berdine c4707621ea [sledge] Make execution bound part of the work queue 6 years ago
Josh Berdine dda922b6ad [sledge] Add command line option for execution bound 6 years ago
Josh Berdine 889b874f63 [sledge] Optimize equality solver treatment of atomic exps 6 years ago
Josh Berdine 0cbcb878f9 [sledge] Classify fully-interpreted and simplified exps differently 6 years ago
Josh Berdine c690416622 [sledge][NFC] Simplify harness selection code 6 years ago
Timotej Kapus d47824fe37 [sledge] link in cxxabi 6 years ago
Timotej Kapus 22acf72936 [sledge] fix only-needed 6 years ago
Josh Berdine cb6d02fe32 [sledge] Add Frontend.report_undefined 6 years ago
Josh Berdine 4ece75ace9 [sledge] Add abort instruction and use it for abort and llvm.trap 6 years ago
Josh Berdine 8f0c88cc68 [sledge] Translate aligned operator new and delete 6 years ago
Josh Berdine f64fc6e32e [sledge] Improve frontend warnings 6 years ago
Josh Berdine c8943f946c [sledge] Change type of warn to be consistent with fail 6 years ago
Josh Berdine 81909abf23 [sledge] Model llvm.trap as nop 6 years ago
Josh Berdine af766b5320 [sledge] Fix translation of Invoke retpolines 6 years ago
Josh Berdine 9a62554322 [sledge] Fix potential divergence in Llair.sexp_of functions 6 years ago
Josh Berdine 109a587654 [sledge] Fix normalization of high-degree polynomials 6 years ago
Josh Berdine ffb0f4f912 [sledge] Relax 'no new subexps' invariant for Xor expressions 6 years ago
Josh Berdine 3483ec72a1 [sledge] Do not normalize shifts by enough bits to be undefined 6 years ago
Josh Berdine 8f2af62480 [sledge] Clamp rational numerator and denominator to bitwidth 6 years ago
Josh Berdine 07e8ac2d6a [sledge] Avoid division by zero during Exp normalization 6 years ago
Josh Berdine d2a97a6174 [sledge] Use integer or float constants as needed in Exp normalization 6 years ago
Josh Berdine 26a3058659 [sledge] Refine Convert Exp invariant 6 years ago
Josh Berdine 0d70f57c6f [sledge] Relax overly strong polynomial invariants 6 years ago
Josh Berdine 8a9cf0198a [sledge] Add assertions on Call and Invoke callee operands 6 years ago
Josh Berdine 684f12a498 [sledge] Protect against misdeclarations of operator new 6 years ago
Josh Berdine 9986d98645 [sledge] Revise invariant checking regarding opaque types 6 years ago
Josh Berdine d3f33d0b43 [sledge] Improve error message when calling null as a function 6 years ago
Josh Berdine 44076e00ff [sledge] Memoize translation of globals, and handle recursive globals 6 years ago
Josh Berdine 78b2835936 [sledge] Improve lookup of debug locations 6 years ago
Josh Berdine 564bd344fc [sledge] Update frontend to upstreamed LLVM OCaml api 6 years ago
Josh Berdine 4acad5ca90 [ocamlformat] upgrade ocamlformat to 0.9 6 years ago
Josh Berdine 79dbb950c1 [sledge] Compare stack component of edges as a inlined code location 6 years ago
Josh Berdine c5224737c3 [sledge] Fix stack popping 6 years ago
Josh Berdine a0a8c6320d [sledge] Hoist conditional exps above boolean exps 6 years ago
Josh Berdine 7595b05f39 [sledge] Classify Eq and Dq exps as Interpreted 6 years ago
Josh Berdine 3a01feb9ba [sledge] Strengthen simplification of Convert exps 6 years ago
Josh Berdine ff9d3aca5a [sledge] Add rough models for mallctl functions 6 years ago
Josh Berdine 077b4d3da7 [sledge] Add Solver tests demonstrating incompleteness 6 years ago
Josh Berdine 3beb1ba2b2 [sledge] Add Exp.size_of 6 years ago
Josh Berdine ae1f14044c [sledge] Add Typ.int 6 years ago
Josh Berdine 455ea495fb [sledge] Strengthen Sh re null cannot be allocated 6 years ago
Josh Berdine 7567432afb [sledge] Revise Sh.dnf to handle nested existentials 6 years ago
Josh Berdine 15300403a5 [sledge] Improve debug tracing 6 years ago
Josh Berdine 0bef279ed1 [sledge] Fix bug in quantifier handling during Sh.or simplification 6 years ago
Josh Berdine 681711c4d2 [sledge] Improve Set.union to preserve == 6 years ago
Josh Berdine 0a97615da2 [sledge] Strengthen byte-array solver with derived length constraints 6 years ago
Josh Berdine 6e1ab66945 [sledge] Add intrinsics to model jemalloc.h functions 6 years ago
Josh Berdine f3dd99ef00 [sledge] Refactor frontend to cleanup handling intrinsics slightly 6 years ago
Josh Berdine 6e41cab422 [sledge] Change strlen from an instruction to an intrinsic 6 years ago
Josh Berdine 1c2ce2344f [sledge] Skeleton for symbolic execution of unsafe intrinsics 6 years ago
Josh Berdine 94fedd9cf0 [sledge] Minor simplification of Exec implementation 6 years ago
Josh Berdine a7367a7cbd [sledge] Improve fresh variable handling in spec construction 6 years ago
Josh Berdine 2376fd3e51 [sledge] Refactor to clean up instruction ordering 6 years ago
Josh Berdine 95b9702d40 [sledge] Remove unused Domain.bottom 6 years ago
Josh Berdine 3c992a832a [sledge] Support Invoke on functions translated as intrinsic exps 6 years ago