| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-06-13 | Add AST for greater-than and less-than constraints | Brian Campbell | |
| Mostly to make constraints sent to the SMT solver and Coq nicer, but also makes it easy to remove uninformative constraints in the Coq back-end. | |||
| 2019-06-12 | Handle partial matches in guarded pattern rewrite | Thomas Bauereiss | |
| Add a fallthrough case that fails to potentially partial pattern matches. This also helps to preserve any guard in the final match case, which might be needed for flow typing (see the discussion on issue #51). TODO: Merge with the MakeExhaustive rewrite, which currently does not support guarded patterns. | |||
| 2019-06-12 | SMT: Fix missing case for append builtin | Alasdair Armstrong | |
| 2019-06-11 | Coq: improve readability of types files | Brian Campbell | |
| Also get rid of the notation warnings for single element records. | |||
| 2019-06-10 | Add well-formedness check for type schemes in valspecs. | Brian Campbell | |
| Fixes #47. Also adjust the nexp substitution so that the error message points to a useful location, and replace the empty environment with the initial environment in a few functions that do type checking to ensure that the prover is set up (which may be needed for the wf check). | |||
| 2019-06-08 | Workaround for OCaml bytecode memory bug | Brian Campbell | |
| See <https://github.com/ocaml/ocaml/issues/8699#issuecomment-499108873>, tested on 4.07.1 and 4.08+rc2. | |||
| 2019-06-06 | SMT: Rename some functions to make usage clearer | Alasdair Armstrong | |
| 2019-06-06 | Fix tdiv_int and tmod_int bindings for Lem | Thomas Bauereiss | |
| Also rename them for uniformity with other backends. | |||
| 2019-06-06 | Add arith_shiftr to C and OCaml libraries | Thomas Bauereiss | |
| 2019-06-06 | SMT: Add function to de-serialise serialised model | Alasdair Armstrong | |
| 2019-06-06 | Add an option to pre-compile the axiomatic model for SMT | Alasdair Armstrong | |
| 2019-06-06 | Update aarch64_small hgen files | Alasdair Armstrong | |
| 2019-06-05 | Add some regression tests | Alasdair | |
| 2019-06-05 | Fix: Make sure we check Jib types match for operators before optimizing | Alasdair Armstrong | |
| Insert coercions for AV_cval if neccessary Simplify any n in 2 ^ n, to make sure we can always evaluate 2 ^ n when n is a constant before passing it to the SMT solver. | |||
| 2019-06-05 | Coq: fix type alias expansion in constraints | Brian Campbell | |
| 2019-06-04 | Make sure aarch64_small can generate Jib for SMT | Alasdair Armstrong | |
| Add a test case for this | |||
| 2019-06-04 | Remove unused AST constructor | Alasdair Armstrong | |
| Clean up ott grammar a bit | |||
| 2019-06-04 | SMT: Add a fuzzing tool for the SMT builtins | Alasdair Armstrong | |
| 2019-06-03 | Coq: support non-exhaustive pattern rewrite for exception handling | Brian Campbell | |
| 2019-05-31 | Add SMT related things to libsail file | Alasdair Armstrong | |
| 2019-05-31 | Change specialization interface slightly | Alasdair Armstrong | |
| 2019-05-30 | Implement ones builtin in sail_lib and add to interpreter. However currently ↵ | Robert Norton | |
| this is implemented in lib/vector_dec.sail as sail function that calls not_vec on sail_zeros. | |||
| 2019-05-29 | SMT: Make bitvector equality work between vectors of different lengths | Alasdair Armstrong | |
| 2019-05-29 | SMT: Fix sail_truncate and sail_mask for unusual argument types | Alasdair Armstrong | |
| 2019-05-29 | Fix sail_truncate error message in SMT | Alasdair Armstrong | |
| 2019-05-28 | Coq: don't output complex bool types at let expressions | Brian Campbell | |
| 2019-05-28 | SMT: Add min and max functions | Alasdair Armstrong | |
| Allow conversion between int(n) and int in smt_conversion | |||
| 2019-05-28 | Make sure single clause functions with top-level guards work correctly | Alasdair Armstrong | |
| 2019-05-24 | Add a :thin_slice command to isail to isolate a given set of functions | Brian Campbell | |
| 2019-05-24 | Coq: support if-then-throw typechecking special case | Brian Campbell | |
| 2019-05-23 | Coq: support loops which update richly typed variables | Brian Campbell | |
| 2019-05-22 | Coq: replace inferrable integer arguments with _ at more types | Brian Campbell | |
| Previously we only checked at atom, now use destruct_atom_nexp to pick up implicit too. | |||
| 2019-05-22 | Move Util.warn to Reporting, and make it take the location as a parameter | Alasdair Armstrong | |
| Also add a $suppress_warnings directive that ensures that no warnings are generated for a specific file. | |||
| 2019-05-21 | SMT: Use a separate constructor for memory read variables | Alasdair Armstrong | |
| We want to ensure simplication can treat these separately so we don't accidentally simplify away dependencies between reads and write addresses. | |||
| 2019-05-21 | Fix: undefined_nat test for interpreter | Alasdair Armstrong | |
| 2019-05-21 | SMT: Add control flow node numbers to memory events to track program order | Alasdair Armstrong | |
| Add path conditions to memory events Allow simplication of generated SMT based on constructor kinds | |||
| 2019-05-21 | Lem: Fix bug in generation of val-specs | Thomas Bauereiss | |
| Used to output duplicate type variables in some cases. | |||
| 2019-05-21 | Coq: introduce autocasts at variables | Brian Campbell | |
| Usually we do this at function applications and casts, but occasionally a variable is used at a different type. | |||
| 2019-05-20 | Revert "Add constraints to undefined vector functions to ensure that lengths ↵ | Brian Campbell | |
| are" This reverts commit 8bed4e4ef414f93e02f28f0e5eb223a855ba3d14. | |||
| 2019-05-20 | Filter termination measures during slicing | Brian Campbell | |
| 2019-05-20 | Speed up graph construction by always keeping graph in normalized form | Brian Campbell | |
| Only checks the leaves that were added in each add_edge/add_edges call. Slicing bits of the 8.5 model went (for me) from intractable to about one second. | |||
| 2019-05-20 | Coq: add some missing autocasts, avoid unnecessary patterns in lets | Brian Campbell | |
| The former is useful when a bitvector variable is cast to an equivalent length, and the latter is easier for Coq's unification to deal with. | |||
| 2019-05-19 | Coq: remove unhelpful type printing restriction on early returns | Brian Campbell | |
| 2019-05-19 | Add constraints to undefined vector functions to ensure that lengths are | Brian Campbell | |
| sane, and an incomplete check on undefined literals. | |||
| 2019-05-17 | SMT: Finish adding all memory builtins from lib/regfp.sail | Alasdair Armstrong | |
| 2019-05-16 | Fix: Add a feature symbol for new constant type variable syntax | Alasdair Armstrong | |
| 2019-05-16 | SMT: Tweak SMT generation interface | Alasdair Armstrong | |
| Expose AST -> Jib compilation function for SMT, and smt_header function Functorise the optimiser so it can output the SMT definitions to any data structure | |||
| 2019-05-16 | SMT: Improve simplification for generated SMT | Alasdair Armstrong | |
| Generate addresses, kinds, and values separately for read and write events. Add an mli interface for jib_smt.ml | |||
| 2019-05-15 | 94f445 introduced a new name for _ref_deref, add it to the effect rewriting | Brian Campbell | |
| 2019-05-14 | SMT: Allow printing SMT with an optional variable prefix | Alasdair Armstrong | |
| Allows us to mix generated SMT for two separate threads without name clashes, however we do want to be able to share datatypes so they are not prefixed. Currently the pretty-printer adds the prefix but we may want a smt_def -> smt_def renaming function instead. | |||
