83 Commits (c991f0c15748b4df737b4dab3ece2d0e39dcfe63)

Author SHA1 Message Date
Josh Berdine cd63204dba [sledge] Initial Shostak-style treatment of UIF+LIA
6 years ago
Josh Berdine e56646674f [sledge] Strengthen simplification of division exps
6 years ago
Josh Berdine 07d48fa7d8 [sledge] Make simplification subexp check more precise
6 years ago
Josh Berdine 8fa2f86b7e [sledge] Fix order of Exp.fold args
6 years ago
Josh Berdine 55540d3500 [sledge] Remove Trace.report in favor of Trace.fail
6 years ago
Josh Berdine 0ecee6a848 [sledge] Change polynomial coefficients and powers to rationals
6 years ago
Josh Berdine d01de4b0dd [sledge] Simplify representation of Add and Mul exps
6 years ago
Josh Berdine 22578089c3 [sledge] Reimplement arithmetic and congruence closure
6 years ago
Josh Berdine 06d169c440 [sledge] Add Trace.fail
6 years ago
Josh Berdine f8fda2e378 [sledge] Trace using symmetric differences between congruence relations
6 years ago
Josh Berdine 875a6a6f8e [sledge] Strengthen treatment of existentials in pure constraints
6 years ago
Josh Berdine 270b6003de [sledge] Revise excision of segments to witness existential size
6 years ago
Josh Berdine 23f2d3a08e [sledge] Fix order of args in simp_div
6 years ago
Josh Berdine 95f94537d7 [sledge] Use Typ.prim_bit_size_of instead of Integer {bits}
6 years ago
Josh Berdine 49c9b3aec4 [sledge] Strengthen Exp.invariant
6 years ago
Josh Berdine 0177549315 [sledge] Improve exp tests
6 years ago
Josh Berdine 909b341e8a [sledge] Add missing `make test` dependency
6 years ago
Josh Berdine 610a641b45 [sledge] Sort congruence classes when printing
6 years ago
Josh Berdine 616be32b5b [sledge] Merge Config.trace_all into Config.trace
6 years ago
Josh Berdine 65c446f0fb [sledge] Protect Trace.parse from invalid user input
6 years ago
Josh Berdine 5a3718a098 [sledge] Move parsing of trace specs from Config to Trace
6 years ago
Josh Berdine 83607ace5e [sledge] Add Trace.all
6 years ago
Josh Berdine 730cbac6c1 [sledge] Make --trace option optional
6 years ago
Josh Berdine 7f630097f9 [sledge] Improve debug tracing
6 years ago
Josh Berdine 10e1ef1ca6 [sledge] Update TODO
6 years ago
Josh Berdine 69c9dbad9c [sledge] Improve simplification of negated booleans
6 years ago
Josh Berdine 48e947883d [sledge] Normalize arithmetic exps to polynomials
6 years ago
Josh Berdine fb746f65d0 [sledge] Refactor to remove unnecessary recursion in simp_and and simp_or
6 years ago
Josh Berdine 2a70b36140 [sledge] Obtain bitwidth and type from same arg of binop exps
6 years ago
Josh Berdine 42fefadc38 [sledge] Strengthen type-checking of arithmetic exps
6 years ago
Josh Berdine 6c108fa68e [sledge] Make Typ.ptr and Typ.siz inter-castable
6 years ago
Josh Berdine 718aa27c8d [sledge] Add typ of Add and Mul expressions
6 years ago
Josh Berdine c7f4ed65ce [sledge] Remove Exp.Sub, express x - y as x + -1y
6 years ago
Josh Berdine 2876ab5034 [sledge] Add result type to Exp.{add,sub,mul}
6 years ago
Josh Berdine 59ee539dce [sledge] Represent null pointer as zero integer of pointer type
6 years ago
Josh Berdine f1de054a39 [sledge] Add `-v` alias for `--trace-all`
6 years ago
Josh Berdine 2f5ed3e554 [sledge] Clamp result of binary Z ops to bitwidth
6 years ago
Josh Berdine 11bf7d9a39 [sledge] Build system support inline tests in all libraries
6 years ago
Josh Berdine 10c8b02a8d [sledge] Clean test coverage data before `make coverage`
6 years ago
Josh Berdine 6df666b87b [sledge] Return dbg and opt build targets
6 years ago
Josh Berdine 172b804838 [sledge] Update tests
6 years ago
Mehdi Bouaziz ecedb27d77 Add missing FB copyrights
6 years ago
Josh Berdine 1500745b03 [sledge] Add typ of integer constants
6 years ago
Josh Berdine 71fe6602ef [sledge] Change Switch cases from Z.t to Exp.t
6 years ago
Josh Berdine e73e6c6448 [sledge] Add Llair.Term.branch wrapper for Switch
6 years ago
Josh Berdine 0e5239682d [sledge] Add Llair.Term.goto wrapper for Switch
6 years ago
Josh Berdine 8074eea927 [sledge] Distinguish signed and unsigned integer comparisons
6 years ago
Josh Berdine 9e724842f6 [sledge] Update todo
6 years ago
Josh Berdine 889f7abc6f [sledge] Dump program to file between frontend and backend
6 years ago
Josh Berdine 080c843856 [sledge] Add maybe-alloc instruction that may fail
6 years ago