273 Commits (41aa20e2b69aa75cf9d1bdfc4502a2cfad086aef)

Author SHA1 Message Date
Josh Berdine 03e338b2b9 [sledge] Give more specific names to `-output` flags
6 years ago
Josh Berdine 39fe848146 [sledge] Define `sledge buck link` in terms of `sledge buck bitcode`
6 years ago
Josh Berdine 26a34bc33c [sledge] Do not always output list of bitcode inputs
6 years ago
Josh Berdine b8bd639ad8 [sledge] Generate and commit cli help
6 years ago
Timotej Kapus fc6aee2d06 [sledge] Function summarisation: maybe summaries
6 years ago
Timotej Kapus 5df12c7725 [sledge] Add lib-fuzzer to buck analyze
6 years ago
Timotej Kapus 0ab1223d3d [sledge] Function summarization: solver can show pre
6 years ago
Timotej Kapus 4ac252120b [sledge] special case buck-target-patterns
6 years ago
Josh Berdine 0f5ae186b3 [sledge] Add test for use-after-destroy of a temp
6 years ago
Josh Berdine a58bc25aa5 [sledge] Strengthen simplification of convert Exps
6 years ago
Josh Berdine cc1f88a747 [sledge] Fix macos build of models
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 d2ee43e818 [sledge] Remove --auto-promote from CI builds
6 years ago
Timotej Kapus ad035a4cc7 [sledge] Fix handling of bitcasts in call instr
6 years ago
Timotej Kapus 8e31b136d0 [sledge] CI install script
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 caef28f49e [sledge] Revise test scripts
6 years ago
Josh Berdine f119154a41 [sledge] Add cxa_default_handlers to models
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 3a87a0e2f3 [sledge] Unignore model/cxxabi.bc
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 b33e32941a [sledge] Revise plans for variadic functions and stack allocation
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 ce7a947be5 [sledge] Refactor auto-formatting build
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 b6d0e33dfc [sledge] Simplify build
6 years ago
Josh Berdine 9a62554322 [sledge] Fix potential divergence in Llair.sexp_of functions
6 years ago
Josh Berdine 00a93899f3 [sledge] Update roadmap
6 years ago
Josh Berdine 9c04bea9dd [sledge] Update build, setup, todo
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 bf7ce6f117 [sledge] Revert "Do not auto-promote test results"
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