Commit Graph

564 Commits (ec52259d31a9872aacba7815e15b5c62f95d9da0)

Author SHA1 Message Date
Josh Berdine ffdb429f5e [sledge] Factor solve_poly_eq out of solve_interp_eq 5 years ago
Josh Berdine f3f41fbdf2 [sledge] Filter out trivial pure constraints in Sh.map 5 years ago
Josh Berdine 1e32743312 [sledge] Add Shostak solver for aggregate theory 5 years ago
Josh Berdine 232372f083 [sledge] Factor orient out of solve 5 years ago
Josh Berdine a75f2701c3 [sledge] Lambda-lift Equality.solve_ 5 years ago
Josh Berdine a7b0d68574 [sledge] Support Equality.solve generating fresh variables 5 years ago
Josh Berdine 79a74f07c5 [sledge] Pass universal context to Equality.solve 5 years ago
Josh Berdine 06fcb210c9 [sledge] Add Shostak canonizer for aggregate theory 5 years ago
Josh Berdine 7bb1ec073a [sledge] Strengthen Term.invariant on aggregates 5 years ago
Josh Berdine 539b4a0b46 [sledge] Add term to Extract a slice out of an aggregate value 5 years ago
Josh Berdine 8af2a4644a [sledge] Refine dropping of tautologous existential constraints 5 years ago
Josh Berdine 65cff68ae8 [sledge] Strengthen Solver's treatment of existentials using Equality 5 years ago
Josh Berdine 200091fc78 [sledge] Add Equality.Subst.trim 5 years ago
Josh Berdine f0a660792e [sledge] Add Equality.solve_for_vars 5 years ago
Josh Berdine 1afd4f55ba [sledge] Classify Memory and Concat terms as Simplified 5 years ago
Josh Berdine 173a5c0653 [sledge] Exclude equality relation from Sh.fold_vars 5 years ago
Josh Berdine 003479dcc1 [sledge] Factor primitive map function out of Sh.apply_subst 5 years ago
Josh Berdine de52574caf [sledge] Generalize Term.solve_zero_eq to specify solved-for subterm 5 years ago
Josh Berdine c52421bb6f [sledge] Refactor pp_diff from Equality to Map and List 5 years ago
Josh Berdine 5132a46c69 [sledge] Add Map.pp and use it for Var. and Equality.Subst.pp 5 years ago
Josh Berdine 66080d4b44 [sledge] Improve consistency of naming Equality pp functions 5 years ago
Josh Berdine 9b1ff9c012 [sledge] Factor solution substitutions into Equality.Subst 5 years ago
Josh Berdine f7a860401b [sledge] Move Term.solve to Equality 5 years ago
Josh Berdine 0b35328eb0 [sledge] Factor out solving polynomial = 0 equalities from solve 5 years ago
Josh Berdine 62dc914de7 [sledge] Use a defined variant type for Term.classify 5 years ago
Josh Berdine fad59b4dc4 [sledge] Add some missing Vector operations 5 years ago
Josh Berdine 2f0a0cf288 [sledge] Replace Memory and Concat Term constructors with eq_concat 5 years ago
Josh Berdine 0137186fe5 [sledge] Improve Solver tracing 5 years ago
Josh Berdine 18fd68f60a [sledge] Add Trace.infok 5 years ago
Josh Berdine ff65bcce1c [sledge] Minor simplification in Term.map 5 years ago
Josh Berdine 7f727df119 [sledge] Remove size of Splat exps and terms 5 years ago
Josh Berdine 2aa73f9946 [sledge] Use Int.sign instead of non-exhaustive matches 5 years ago
Josh Berdine b17cfd7db6 [sledge] Printing and tracing improvements 5 years ago
Josh Berdine 1ad2c9025a [sledge] Improve Sh docs 5 years ago
Josh Berdine 65f0b691a9 [sledge] Remove redundant `open` 5 years ago
Josh Berdine 84bb409412 [sledge] Sort arguments of Eq terms 5 years ago
Josh Berdine 9338bf1adb [sledge] Minor optimization of nop Var.Subst.freshen 5 years ago
Josh Berdine 914cd06e4d [sledge] Close Equality.classes under one-step congruence 5 years ago
Josh Berdine adb1e48467 [sledge] Simplify printing of symbolic heaps 5 years ago
Josh Berdine 960a9f76a0 [sledge] Remove some fragile patterns 5 years ago
Josh Berdine c52b49e6c0 [sledge] Add Term.Map and Var.Map 5 years ago
Josh Berdine 83c59dc795 [sledge] Simplify Sh.fold_terms to fold_vars 5 years ago
Josh Berdine 01825598f7 [sledge] Equality.and_eq is part of the exposed interface 5 years ago
Josh Berdine 6e01fa91d5 [sledge] Replace Set.inter_diff with clearer diff_inter 5 years ago
Josh Berdine b8833b76b8 [sledge] Add classic equality tests for arithmetic and congruence 5 years ago
Josh Berdine 8fb0632aba [sledge] Add test Makefile targets for generating Llair code 5 years ago
Josh Berdine c9a0b06be2 [sledge] Update expected test results 5 years ago
Scott Owens 1ddeacee50 [sledge sem] Rework phi instructions 5 years ago
Josh Berdine 3c6e2469de [ocamlformat] Enable parsing and reformatting docstrings 5 years ago
Josh Berdine 517b99e673 [sledge] Avoid infix monad operators in non-pipeline code 5 years ago
Josh Berdine c9449cce77 [sledge] Some simplifications using let+ 5 years ago
Josh Berdine f60ce32125 [sledge] Undeprecate Not_found in the implementation of Import 5 years ago
Josh Berdine 0999d202ad [sledge] Remove dead List.remove 5 years ago
Josh Berdine 661db9db76 [sledge] Implement Map.find_and_remove more directly 5 years ago
Josh Berdine 30aa8aa3b9 [sledge] Basic definitions for monadic binding operators 5 years ago
Josh Berdine cfbbacf9f1 [sledge] Improve using extended open 5 years ago
Josh Berdine 7ed8a6a260 [sledge] Simplify and improve using local subst in sigs 5 years ago
Josh Berdine b22d8b4151 [sledge] Simplify using shadowing of modules from includes 5 years ago
Josh Berdine b1a6928a50 [sledge] Avoid wildcard exception handler 5 years ago
Josh Berdine f2be1cbed0 [sledge] Hashtbl.Key has been deprecated in favor of Hashtbl.Key.S 5 years ago
Josh Berdine b5915db605 [sledge] Clear terminal between builds in watch mode 5 years ago
Josh Berdine 48fd99d48f [sledge] Avoid matching on Not_found 5 years ago
Josh Berdine e201e517c9 [sledge][NFC] Refactor to avoid an unused open warning 5 years ago
Josh Berdine 6c5d9d4acb [sledge] Remove dependency on ppx_import 5 years ago
Josh Berdine 9d7580b5cd [sledge] Remove ocamlformat from dev-tools.opam 5 years ago
Josh Berdine e3734d3d2c [sledge] Fix bug in Term.solve 5 years ago
Josh Berdine 28e4c74426 [sledge] Fix bug in Equality.or_ 5 years ago
Josh Berdine 8d20e4d64d [ocamlformat] Upgrade ocamlformat version 5 years ago
Josh Berdine 52380b017c [sledge][NFC] Simplify Term rec module 5 years ago
Josh Berdine 1f64634093 [sledge] Simplify type conversions 5 years ago
Josh Berdine e6d93dcf94 [sledge][NFC] Simplify term tests 5 years ago
Scott Owens 1bd290634b [sledge sem] Update integer conversions to new LLAIR 5 years ago
Scott Owens f68258ca73 [sledge sem] Update sanity proof for LLAIR convert 5 years ago
Benno Stein beb99932c3 [sledge] Handle more LLAIR expressions in APRON interval analysis 5 years ago
Josh Berdine 752b8ab56a [sledge] Fix normalization of Convert terms 5 years ago
Scott Owens 5caa19990b [sledge sem] Improve a comment 5 years ago
Scott Owens a4f0d6dbb7 [sledge sem] Complete (nearly) proof for phi instrs 5 years ago
Benno Stein 50b60bc049 [sledge] Add APRON-backed Interval abstract domain 5 years ago
Scott Owens 9f0fdd3bfe [sledge sem] Add proof of bit cast implementation 5 years ago
Scott Owens e9296d31b6 [sledge sem] Implement and verify cast expressions 5 years ago
Scott Owens 86024892e1 [sledge sem] Refactor inductive definitions a bit 5 years ago
Scott Owens 573f0d8aed [sledge sem] Make proof progress on phi instructions 5 years ago
Scott Owens 0a35b1da35 [sledge sem] Prove the Load and Store cases (mostly) 5 years ago
Josh Berdine c0c96b5235 [sledge] Refactor Used globals analysis results type and query 5 years ago
Josh Berdine 429fbddeda [sledge] Refine inlining heuristic to allow casts 5 years ago
Josh Berdine d6d65a785a [sledge] Remove left-over SSA assertion 5 years ago
Josh Berdine 7105d85281 [sledge][NFC] Minor code cleanup 5 years ago
Josh Berdine 081455278d [sledge] Do not explore exceptional control flow by default 5 years ago
Josh Berdine 9acfb65ba0 [sledge][NFC] Update TODO 5 years ago
Josh Berdine bc858fad2e [sledge][NFC] Rename Term.call's func arg to callee to match type 5 years ago
Josh Berdine 6399c59861 [sledge] Do not represent function CFGs explicitly 5 years ago
Josh Berdine 2331e8d68a [sledge] Fix frontend bug in trampoline creation 5 years ago
Josh Berdine cf5097a8b4 [sledge] Add report-summary test make target 5 years ago
Josh Berdine 995de071ed [sledge] Revise Sh_domain handling of function call and return 5 years ago
Josh Berdine df26b9b1a5 [sledge][NFC] Minor code simplification 5 years ago
Josh Berdine 65e963a162 [sledge] Add Sh.subst implemented ito and and exists 5 years ago
Josh Berdine 1595fb7c60 [sledge] Fix potential name clash in Sh.rename 5 years ago
Josh Berdine 799b21761f [sledge] Translate ExtractElement and InsertElement despite being vector 5 years ago
Scott Owens 3080fba8fa [sledge sem] Update LLVM and LLAIR sem for consistent stuckness 5 years ago
Scott Owens 14a8ae34b9 [sledge sem] Improve and unify treatment of Exit 5 years ago
Scott Owens 5312b3d10c [sledge sem] Fix trans. invariant for llair expressions 5 years ago
Scott Owens 9f2f14b34c [sledge sem] Sketch out translation correctness 5 years ago
Jules Villard 42470d8809 [hmm] sexp_{option,list} -> {option,list} 5 years ago
Josh Berdine ef78ba83cf [sledge] Report the number of alarms 5 years ago
Josh Berdine ec52c05c30 [sledge][NFC] Minor simplification for singleton sets 5 years ago
Josh Berdine 239d906ab6 [sledge] Improve tracing and debugging support 5 years ago
Josh Berdine 3f5adecdcf [sledge] Exec.exec_specs missed vocabulary extension 5 years ago
Josh Berdine 9ac854c970 [sledge] Exec.kill should preserve vocabulary 5 years ago
Josh Berdine 8097f1a6df [sledge] Adjust tests to match harnesses 5 years ago
Josh Berdine b2f90a3994 [sledge] Treat freturn directly in Dom.call 5 years ago
Josh Berdine fbf0fe2f1a [sledge][NFC] Rename args to actuals 5 years ago
Josh Berdine d3d0c4b36e [sledge][NFC] Rename params to formals 5 years ago
Josh Berdine 69c29ab3d8 [sledge][NFC] Label args of Domain.call 5 years ago
Josh Berdine 47766a0e6e [sledge] Drop globals with appending linkage and size 0 5 years ago
Josh Berdine 1efd0df035 [sledge] Avoid potential name clash between trampolines 5 years ago
Josh Berdine ebee451f1c [sledge] Improve test scripts 5 years ago
Josh Berdine 38cab376f6 [sledge] Keep BitCasts and similar in expressions 5 years ago
Josh Berdine b632d4f283 [sledge] Check the input datalayout agrees with assumptions 5 years ago
Josh Berdine 6328a6ce40 [sledge] Do not store size of globals separately 5 years ago
Josh Berdine ca95fc098f [sledge] Keep size in both bits and bytes for each type 5 years ago
Josh Berdine d3bad1ce44 [sledge] Add sizes to types 5 years ago
Josh Berdine 6120b7d098 [sledge] Use the configured margin when formatting failure messages 5 years ago
Josh Berdine a386b36616 [sledge] Re-add Splat expression for zero-initialized aggregates 5 years ago
Josh Berdine 727385d853 [sledge] Relax Typ.is_sized to allow opaque types 5 years ago
Josh Berdine f804220cd2 [sledge] Revise order of Term constructors for polynomial normalization 5 years ago
Josh Berdine 1ef390ffca [sledge] Relax Exp type-checking to be modulo-casting 5 years ago
Josh Berdine fb184a6a1d [sledge] Introduce the notion of types having the same semantics 5 years ago
Josh Berdine 917cc62e28 [sledge] Fix type of functions called using a cast 5 years ago
Josh Berdine ce3252c348 [sledge] Allow global variables as function names 5 years ago
Josh Berdine 785928c77e [sledge] Error reporting improvements 5 years ago
Josh Berdine ffeef16aae [sledge] Add a flag to disable internalization 5 years ago
Josh Berdine 6ca09b14fd [sledge] Add flag to disable linking in the models 5 years ago
Josh Berdine f699c9b9a8 [sledge] Simplify ¬¬e to e 5 years ago
Josh Berdine 06f2863dd8 [sledge] Simplify `e xor e` to `0` 5 years ago
Josh Berdine 6f84787b19 [sledge] Change exec_inst to return an option instead of a result 5 years ago
Josh Berdine 2840eb4781 [sledge] Refactor dispatch on instruction from Exec to Sh_domain 5 years ago
Josh Berdine c6d7886fd8 [sledge] Make type of exec_move consistent with move instruction 5 years ago
Josh Berdine 162f027249 [sledge] Make type argument of Exp constructors optional where computable 5 years ago
Josh Berdine ad5d5dd89e [sledge] Add Exp.true_ and Exp.false_ 5 years ago
Josh Berdine 37d1904bd3 [sledge] Move check for whether a variable is global from Reg to Var 5 years ago
Josh Berdine 3003a8e646 [sledge] NFC minor cleanups 5 years ago
Josh Berdine 8ee0c67d1f [sledge] Precompute the Term form of each Exp, and add it to Exp.t 5 years ago
Josh Berdine 9ddfae4e89 [sledge] Change Term.rename to preserve sharing in cyclic records 5 years ago
Josh Berdine 7ecd091ff3 [sledge] Change Struct_rec to a generic n-ary recursive application 5 years ago
Josh Berdine 356b4f0b4e [sledge] Uncurry Record term constructor 5 years ago
Josh Berdine 99b60d191a [sledge] Fix sorting of heap block subformulas when printing 5 years ago
Josh Berdine 1228c8e31b [sledge] Uncurry Update term constructor, and specialize index to int 5 years ago
Josh Berdine 09daac754c [sledge] Uncurry Select term constructor, and specialize index to int 5 years ago
Josh Berdine 5eaae07043 [sledge] Change Concat term contructor to a generic n-ary application 5 years ago
Josh Berdine 6cd82475f1 [sledge] Use generic binary application for Splat and Memory term constructors 5 years ago