| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-06-19 | Make C emulator exit with failure for uncaught exception. Make special case ↵ | Robert Norton | |
| for 'exception.sail' test that deliberately exits with uncaught exception. | |||
| 2019-06-19 | Make default ocaml main exit with non-zero exit code in case of uncaught ↵ | Robert Norton | |
| exception. This is ensures test failures are detected. | |||
| 2019-06-19 | Fix buggy ocaml implementation of count_leading_zeros and also make tail ↵ | Robert Norton | |
| recursive. | |||
| 2019-06-19 | Rewriting improvements for monomorphic aarch64_small | Brian Campbell | |
| - allow disjoint_pat to be used on patterns that have just been introduced by the rewrite without rechecking - don't rebuild the matched expression in the generated fallthrough case (or any wildcard fall-through) - it may be dead code and generate badly typed Lem - update the type environment passed to rewrites whenever type checking is performed; stale information broke some rewrites | |||
| 2019-06-19 | Monomorphisation improvements for aarch64_small | Brian Campbell | |
| - additional rewrites (signed extend of subrange@zeros, subrange assignment, variants with casts) - drop # from new top-level type variables (e.g., n_times_8) so that the rewriter knows that they're safe to include in casts - add casts in else-branches when only one possible value for a size is left - add casts when assertions force a size to be a particular value - don't use types to detect set constraints in analysis because we won't know which part of the assertion should be replaced - also use non-top-level type variables when simplifying sizes in analysis (useful when it can from pattern matching on an ast) - cope with repeated int('n) in a pattern match (!) | |||
| 2019-06-18 | Fix two SMT test cases | Thomas Bauereiss | |
| 2019-06-18 | Update test cases | Thomas Bauereiss | |
| 2019-06-18 | Fix handling of E_internal_plet in rewrite | Thomas Bauereiss | |
| 2019-06-18 | Implement count_leading_zeros in Lem | Thomas Bauereiss | |
| 2019-06-17 | Add sail implementation of count_leading_zeros. We could use this for ↵ | Robert Norton | |
| backends where the builtin isn't supported but sail support for this is currently a bit broken (will use sail version when it shouldn't e.g. for smt). | |||
| 2019-06-17 | Implement a count_leading_zeros builtin for ocaml and c. This may be a ↵ | Robert Norton | |
| slight performance improvement and keeps compatibility with smt backend that already had a builtin for this because it can't handle the loop in the sail version. Will need implementations for prover backends. | |||
| 2019-06-13 | Fix some bugs in Lem rewriter | Thomas Bauereiss | |
| A missing type annotation in rewrite_guarded_clauses caused a crash in some cases. Also fix an effect propagation bug in rewrite_letbind_effects. | |||
| 2019-06-13 | Add new option to splice in alternative function definitions | Brian Campbell | |
| In particular, this is useful for replacing basic bitvector functions with monomorphisation-friendly ones. | |||
| 2019-06-13 | Coq: add eq_bit built-in | Brian Campbell | |
| 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 | Fix Lem binding for abs_int | Thomas Bauereiss | |
| 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: add concatenation operator for polymorphic vectors | Brian Campbell | |
| 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 | Fix aarch64_small test | Alasdair Armstrong | |
| 2019-06-06 | Coq: more aggressive rewriting before solving | Brian Campbell | |
| Solves some ARM model constraints much more quickly | |||
| 2019-06-06 | Coq: tweak bool to Z to use less memory | Brian Campbell | |
| 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 | Fix aarch64_small makefile | 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-06 | update funding acks | Peter Sewell | |
| 2019-06-05 | Add some regression tests | Alasdair | |
| 2019-06-05 | Coq: exploit arithmetic solver for some mixed integer/bool problems. | Brian Campbell | |
| 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: generalize proof terms before main solver | Brian Campbell | |
| Ensures that dependencies in proofs don't affect rewriting. | |||
| 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 | Coq: more constraint solving | Brian Campbell | |
| - make the exists, iff solver handle more cases - avoid exposing omega to goals with local definitions involving proofs | |||
| 2019-06-04 | Merge pull request #52 from scottj97/update-gitignore | Alasdair Armstrong | |
| Add new files to .gitignore | |||
| 2019-06-04 | SMT: Add a fuzzing tool for the SMT builtins | Alasdair Armstrong | |
| 2019-06-03 | Add new files to .gitignore | Scott Johnson | |
| 2019-06-03 | Test case for previous commit | Brian Campbell | |
| 2019-06-03 | Coq: support non-exhaustive pattern rewrite for exception handling | Brian Campbell | |
| 2019-06-03 | Coq: experiment with another boolean iff solving method | 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. | |||
