| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-05-07 | Preserve more pattern locations during type checking | Brian Campbell | |
| (monomorphisation uses them to decide where to case split) | |||
| 2019-05-07 | Patch up a couple of Isabelle proofs due to memory interface changes | Brian Campbell | |
| 2019-05-06 | Handle type variables generated while inferring applications in monomorphisation | Brian Campbell | |
| Also handle any type variables from assignments and degrade gracefully during constant propagation when unification is not possible. | |||
| 2019-05-06 | Avoid degenerate construction monomorphisation, use # in generated names | Brian Campbell | |
| 2019-05-06 | Apply constructor monomorphisation in preference to variable splits | Brian Campbell | |
| Note that we might need to do both in future. Also report more information when constructor refinement fails. | |||
| 2019-05-06 | Calculate some type variable substitutions during constant propagation | Brian Campbell | |
| Needed for constructor monomorphisation | |||
| 2019-05-06 | Handle global constants in monomorphisation | Brian Campbell | |
| 2019-05-06 | Cope with irrelevant existentials when monomorphising constructors | Brian Campbell | |
| 2019-05-06 | Don't initialise registers in interpreter when register accesses not allowed | Brian Campbell | |
| Avoids having to handle unexpected undefined values during constant propagation. | |||
| 2019-05-06 | Expand constraints while looking for sets during monomorphisation | Brian Campbell | |
| 2019-05-03 | Tidy of Sail Ott definition to allow valid Isabelle datatypes to be ↵ | Mark Wassell | |
| generated for Sail AST | |||
| 2019-04-26 | Fix some broken interpreter tests | Alasdair Armstrong | |
| 2019-04-26 | More constructor monomorphisation support | Brian Campbell | |
| - handle multiple bitvector length variables - more fine-grained unnecessary cast insertion checks - add tuple matching support to constant propagation (for the test) | |||
| 2019-04-25 | Update coq read_mem/write_mem. | Prashanth Mundkur | |
| 2019-04-25 | Fill in missing map_..._annot case | Brian Campbell | |
| 2019-04-25 | More read/write function updates | Brian Campbell | |
| 2019-04-25 | Get basic constructor monomorphisation working again | Brian Campbell | |
| - updates for type checking changes - handle a little more pattern matching in constant propagation - fix bug where false positive warnings were produced - ensure bitvectors in tuples are always monomorphised (to catch the case where the bitvectors only appear alone with a constant size) | |||
| 2019-04-25 | Update prelude in mono tests | Brian Campbell | |
| 2019-04-25 | Make constructor splitting in monomorphisation obey -dall_split_errors | Brian Campbell | |
| 2019-04-25 | Don't try to insert monomorphisation casts when the types are the same | Brian Campbell | |
| 2019-04-25 | lem gen_lib: update read/write functions to take (dummy) addrsize argument ↵ | Jon French | |
| as in other places | |||
| 2019-04-20 | Fix: Reduce constant-fold time for ARM from 20min+ to 10s | Alasdair Armstrong | |
| With the new interpreter changes computing the initial state for the interpreter does some significant work. The existing code was re-computing the initial state for every subexpression in the specification (not even just the ones due to be constant-folded away). Now we just compute the initial state once and use it for all constant folds. Also reduce the time taken for the simple_assignments rewrite from 20s to under 1s for ARMv8.5, by skipping l-expressions that are already in the simplest form. | |||
| 2019-04-19 | Coq: when replacing n_constraints in types allow for some rearrangement | Brian Campbell | |
| (in particular, to cope with Type_check.simp_typ) | |||
| 2019-04-19 | Coq: more robust handling of unknown constraints | Brian Campbell | |
| 2019-04-18 | Parameterise memory read/write primitives by address length | Jon French | |
| 2019-04-17 | Add interpreter annots to vector_dec. | Prashanth Mundkur | |
| 2019-04-17 | Coq: support pure loops with termination measures | Brian Campbell | |
| 2019-04-17 | now without memory leaks | Jon French | |
| 2019-04-17 | add unimplemented C platform definitions for platform_read_mem etc | Jon French | |
| 2019-04-17 | Merge pull request #42 from crabtw/sail2 | Robert Norton | |
| Add base64 package constraint | |||
| 2019-04-17 | Add base64 package constraint | Jyun-Yan You | |
| 2019-04-17 | Remove obsolete generated files from .gitignore directory so they will show ↵ | Robert Norton | |
| up in git status. | |||
| 2019-04-17 | Allow libsail to be installed without the other things (for rmem) | Shaked Flur | |
| 2019-04-17 | Build libsail again (removed Bytcode and Share_directory) | Shaked Flur | |
| 2019-04-16 | Temporarily remove Makefile part that is making Jenkins fail | Alasdair Armstrong | |
| Comment out some interpreter tests that go into infinite loops because those will cause issues for Jenkins. | |||
| 2019-04-16 | Fix: Don't repeat ctyp_of_typ call | Alasdair Armstrong | |
| 2019-04-16 | Code for testing builtins with Coq | Brian Campbell | |
| Disabled by default because it's fairly resource heavy. Currently two failures: a minor bug affecting divmod.sail, and undefined values aren't set up for set_slice_bits.sail. | |||
| 2019-04-16 | Coq: make bools_of_int (and hence get_slice_int) compute well | Brian Campbell | |
| 2019-04-16 | Coq: set_slice typo | Brian Campbell | |
| 2019-04-16 | Coq: tdiv builtins | Brian Campbell | |
| 2019-04-16 | Coq: add specialised shifts | Brian Campbell | |
| 2019-04-16 | Coq: don't record assertions in the context if Sail doesn't | Brian Campbell | |
| This can massively reduce Coq's typechecking time on assertion heavy code, such as the builtins tests. | |||
| 2019-04-16 | Also allow "repeat" in loop termination measure syntax | Brian Campbell | |
| 2019-04-15 | Merge branch 'sail2' of github.com:rems-project/sail into sail2 | Jon French | |
| 2019-04-15 | Merge branch 'sail2' into rmem_interpreter | Jon French | |
| 2019-04-15 | Fix: Allow zero-length vector literals | Alasdair Armstrong | |
| 2019-04-15 | Basic loop termination measures for Coq | Brian Campbell | |
| Currently only supports pure termination measures for loops with effects. The user syntax uses separate termination measure declarations, as in the previous recursive termination measures, which are rewritten into the loop AST nodes before type checking (because it would be rather difficult to calculate the correct environment to type check the separate declaration in). | |||
| 2019-04-12 | ToFromInterp_backend: print type annotations for abbrevs of unquantified ↵ | Jon French | |
| types, to help out ocaml (hack) | |||
| 2019-04-12 | ToFromInterp_backend: don't generate converters for cache_op_kind | Jon French | |
| 2019-04-12 | ToFromInterp_backend: better handling of nexps | Jon French | |
