1167 Commits (70e062e7c05b54f0f08a03136d9994c3e2505edd)

Author SHA1 Message Date
Josh Berdine 5316e64230 [sledge] Add nonsupport for CallBr instruction
4 years ago
Josh Berdine de0b4e764c [sledge] Add support for FNeg instruction
4 years ago
Josh Berdine aeca13145a [sledge] Update operand index of Invoke callee
4 years ago
Josh Berdine 38eb6aa8d0 [sledge] Add memtrace support
4 years ago
Josh Berdine fb95eee214 [sledge] Update build to use vendored package for LLVM 11
4 years ago
Josh Berdine 8d1743bf27 [sledge] Make reading config file more robust
4 years ago
Josh Berdine 4689a2881d [sledge][llvm] Add LLVMInternalizePredicateBindings
4 years ago
Josh Berdine b5974020b8 [sledge][llvm] Handle nullptr in Llvm.global_initializer
4 years ago
Josh Berdine fc348d0ac4 [sledge][llvm] Add missing TypeKinds, Opcode, and AtomicRMWBinOps
4 years ago
Josh Berdine 637b566726 [sledge][llvm] Add OCaml APIs to access DebugLoc info
4 years ago
Josh Berdine 823cd76f3c [sledge][llvm] Vendor LLVM OCaml bindings
4 years ago
Josh Berdine b3b6e0e48a [sledge][llvm-dune] Vendor llvm-dune
4 years ago
Josh Berdine 1fa2e6e430 [sledge] Update build of sledge models to use vendored cxxabi
4 years ago
Josh Berdine bafea13b08 [sledge][cxxabi] Vendor LLVM cxxabi project
4 years ago
Josh Berdine a68e184e92 [sledge] Add vendor dir
4 years ago
Josh Berdine 585237aec1 [sledge] Remove functionality depending on Llvm_linker.link_in
4 years ago
Josh Berdine 26014ecd4d [sledge] Distinguish LLVM assertion violations from general aborts
4 years ago
Josh Berdine 6b9b16b077 [sledge] Drop calls to llvm.dbg.label
4 years ago
Josh Berdine 45c155fdf1 [sledge] Combine multiple passes in Llair.Func.mk, fix termination bug
4 years ago
Josh Berdine c531096f97 [sledge] Make name arg of Var.identified non-optional
4 years ago
Josh Berdine 018c738499 [sledge] Make type arg of Exp.conditional non-optional
4 years ago
Josh Berdine eb4a01ce8d [sledge] Change args of Loc.mk from optional to explicit options
4 years ago
Josh Berdine 9ee705bb88 [sledge] Resolve match-on-mutable-state-prevent-uncurry warnings
4 years ago
Josh Berdine 65f8b48aac [sledge] Check type of arg of Resume the same as param of LandingPad
4 years ago
Josh Berdine 40fe8a8bc3 [sledge] Avoid calling Llvm.is_declaration on formal parameters
4 years ago
Josh Berdine 5a81118e14 [sledge] Fix bug in translation of ExtractElement InsertElement instructions
4 years ago
Josh Berdine e32f5ef6bd [sledge] Fix assert when Fpath.v passed empty string
4 years ago
Josh Berdine 37d68c654e [sledge] Add script to link bitcode using gllvm
4 years ago
Josh Berdine 86298e078f [sledge] Print only function name when warning of ignored variadic arguments
4 years ago
Josh Berdine b708c1e3db [sledge] Change test report to use speedup ratio instead of percentage change
4 years ago
Josh Berdine 96b8558b08 [sledge] Simplify Var by combining `program` and `identified` variables
4 years ago
Josh Berdine e33c7f6ce0 [sledge] Change encoding of program var ids to preserve original order
4 years ago
Josh Berdine 3af760ee40 [sledge] Minor improvement to Frontend.cleanup
4 years ago
Josh Berdine 6fb29dac90 [sledge] Add Theory.oriented_equality type for code readability
4 years ago
Josh Berdine 5cdd3cd781 [sledge] Minor Map interface simplifications
4 years ago
Josh Berdine bba67169ec [sledge] Combine normalization and carrier extension when adding equalities
4 years ago
Josh Berdine 4bc33ba928 [sledge] Minor code cleanup in Context
4 years ago
Josh Berdine 8d6f311392 [sledge] Add congruence closure test
4 years ago
Josh Berdine 1f0b005569 [sledge] Optimize map operations over formulas
4 years ago
Josh Berdine 1274bd0d46 [sledge] Optimize equality solver on sequences using super-term index
4 years ago
Josh Berdine d298eb1bad [sledge] Optimize Set operations
4 years ago
Josh Berdine a4caa0bd65 [sledge] Optimize Map operations
4 years ago
Josh Berdine dfd897d9e4 [sledge] Switch Zero-One-Many type to a standard variant
4 years ago
Josh Berdine 435c3de5bb [sledge] Optimize Trm.compare
4 years ago
Josh Berdine c0d106cb0a [sledge] Rework propositional formula definition to avoid recursive modules
4 years ago
Josh Berdine ae5ef09d9e [sledge] Reorder Arithmetic interface
4 years ago
Josh Berdine 5704b160bf [sledge] Rework term and arithmetic definitions to avoid recursive modules
4 years ago
Josh Berdine 24ca0666d3 [sledge] Reorder Arithmetic definitions
4 years ago
Josh Berdine c7c06addfd [sledge] Adapt Multiset to Comparer interface
4 years ago
Josh Berdine cbe6872731 [sledge] Adapt NSSet to Comparer interface
4 years ago
Josh Berdine ecb1bce470 [sledge] Adapt NSMap to Comparer interface
4 years ago
Josh Berdine 5ea2f20cad [sledge] Optimize by inlining functors
4 years ago
Josh Berdine 32c89e6b68 [sledge] Change ocaml/{set,map} to use Comparer interface
4 years ago
Josh Berdine 7cf6e17403 [sledge] Add Comparer: type-indexed compare functions
4 years ago
Josh Berdine 5d54631d09 [sledge] Fix `make debug`
4 years ago
Josh Berdine 02ab2f18c9 [sledge] Add missing label
4 years ago
Josh Berdine 7f60aa006a [sledge] Reorder set and map definitions
4 years ago
Josh Berdine 2df2b4cb7c [sledge] Implement {Map,Set} using Stdlib.{Map,Set}
4 years ago
Josh Berdine de8d583f82 [sledge] Rename nonstdlib/{map,set} to nonstdlib/{NSMap,NSSet}
4 years ago
Josh Berdine 9ca7ba3619 [sledge] Add Map and Set from Stdlib
4 years ago
Josh Berdine 3593e41de1 [sledge] Change confusing order of Multiset args
4 years ago
Josh Berdine ae787bbde1 [sledge] Simplify Propositional interface
4 years ago
Josh Berdine e284b06e5b [sledge] Refactor Var0 into Trm.Var and Subst
4 years ago
Josh Berdine daaff7ad01 [sledge] Reorder Trm definitions
4 years ago
Josh Berdine 0bcdc59086 [sledge] Avoid using Var.ppx in Trm.ppx
4 years ago
Josh Berdine 6ecdb72fcc [sledge] Do not define Trm.Var recursively with Trm.Trm
4 years ago
Josh Berdine 781280faf1 [sledge] Rename Arithmetic.INDETERMINATE.trm to t
4 years ago
Josh Berdine 768e0b324d [sledge] Remove unneeded Trm.T
4 years ago
Josh Berdine b45b190d05 [sledge] Compare Vars by id
4 years ago
Josh Berdine eef9019442 [sledge] Use (negated) register ids instead of 0 for program vars
4 years ago
Josh Berdine 0534623a63 [sledge] Add unique int ids to Llair registers
4 years ago
Josh Berdine 6010ec45b2 [sledge] Do not consume names for non-call void instructions
4 years ago
Josh Berdine 19a237c730 [sledge] Name trampoline blocks using source block instead of instr
4 years ago
Josh Berdine aaf0921d86 [sledge] Do not regenerate symbol name when updating loc in Frontend
4 years ago
Josh Berdine 5c07232ea3 [sledge] Fix handling of existentials in Sh.and_
4 years ago
Josh Berdine 05e1e52f0a [sledge] Improve tracing, comments, assertions for function call
4 years ago
Josh Berdine 0587da1c51 [sledge] Fix coverage stats being too low due to clashes
4 years ago
Josh Berdine 3afd679c42 [sledge] Simplify handling of Var.strength
4 years ago
Josh Berdine e625780d73 [sledge] Change build system to ensure report exe is built for testing
4 years ago
Josh Berdine 4761e60c5b [sledge] Suppress Context debug wrappers
4 years ago
Josh Berdine 6701194262 [sledge] Minor cleanup in Context
4 years ago
Josh Berdine 8baec586f0 [sledge] Optimize Context.dnf by iterating disjuncts lazily
4 years ago
Josh Berdine 67ce2de306 [sledge] Add some smtlib tests
4 years ago
Josh Berdine c1c83e4da0 [sledge] Test infra improvements
4 years ago
Josh Berdine ee9aa931c4 [sledge] Reimplement equality solver based on "use" superterm index
4 years ago
Josh Berdine ecfb5a1116 [sledge] Improve Context tracing
4 years ago
Josh Berdine 2c46e2b8d4 [sledge] Prepare Context.extend for addition of use lists
4 years ago
Josh Berdine e61278cb9a [sledge] Add Trm.fold_map
4 years ago
Josh Berdine 33731c1a10 [sledge] Improve Context.Subst naming
4 years ago
Josh Berdine cd116fcf41 [sledge] Improve Context.invariant with Theory.classify
4 years ago
Josh Berdine e91fc9d1a3 [sledge] Improve Context.extend with Theory.classify
4 years ago
Josh Berdine 7806a446f6 [sledge] Tighten test for uninterp terms in Context.solve_uninterp_eqs
4 years ago
Josh Berdine 570f2bd8e5 [sledge] Improve test in Context.propagate1
4 years ago
Josh Berdine 745369b83c [sledge] Implement Context.norm in terms of Theory.map_solvables
4 years ago
Josh Berdine 5346f79100 [sledge] Simplify and (minor) strengthen Context.is_valid_eq
4 years ago
Josh Berdine 4a027b6682 [sledge] Use Theory.solvables in Context.solve_poly_eq
4 years ago
Josh Berdine 724c1acc22 [sledge] Add Theory.solvables
4 years ago
Josh Berdine dbfa63feaa [sledge] Refine Theory.classify to distinguish (un)interpreted atoms
4 years ago
Josh Berdine 548adedc37 [sledge] Add Arith.is_uninterpreted
4 years ago
Josh Berdine a4f8ecfb2b [sledge] Fix Arith.map on noninterpreted polynomials
4 years ago