| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-04-27 | Merge branch 'sail2' into smt_experiments | Alasdair | |
| 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-25 | SMT: Provide a more useful error message when topsort fails | Alasdair | |
| 2019-04-24 | SMT: Make sure we clear overflow checks between generating properties | Alasdair Armstrong | |
| 2019-04-24 | SMT: Can now recheck some simple models via the interpreter | Alasdair | |
| Probably need to clean-up the implementation and merge new_interpreter into this branch before supporting re-checking counterexamples with more things. | |||
| 2019-04-23 | SMT: Add some comments | Alasdair | |
| 2019-04-23 | SMT: Only check counterexamples automatically with -smt_auto flag | Alasdair Armstrong | |
| 2019-04-23 | SMT: Add parser for generated models | Alasdair Armstrong | |
| Simple parser-combinator style parser for generated models. It's actually quite tricky to reconstruct the models because we can have: let x = something $counterexample function prop(x: bits(32)) -> bool = ... where the function argument becomes zx/1 rather than zx/0, which is what we'd expect for the argument of a property. Might need to do something smarter with encoding locations into smt names to figure out what SMT variables correspond to which souce variables exactly. The above also previously generated incorrect SMT, which has now been fixed. | |||
| 2019-04-23 | SMT: Add signed builtin | Thomas Bauereiss | |
| 2019-04-20 | SMT: Support writing to register references | Alasdair Armstrong | |
| Add a new AE_write_ref constructor in the ANF representation to make writes to register references explicit in Jib_compile | |||
| 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 | SMT: Automatically get model when $counterexample is used rather than $property | Alasdair Armstrong | |
| 2019-04-17 | Coq: support pure loops with termination measures | Brian Campbell | |
| 2019-04-17 | SMT: Support register references | Alasdair Armstrong | |
| 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 | SMT: Support generic vectors and handle lets between specs and functions | Alasdair Armstrong | |
| If we have e.g. $property val prop : ... let X = 0 function prop(...) = X == ... then we need to ensure that let X is included when we generate the property. | |||
| 2019-04-17 | SMT: Unroll simple foreach loops | Alasdair Armstrong | |
| 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 | Remove unnecessary assert | Thomas Bauereiss | |
| 2019-04-16 | SMT: Support toplevel letbindings | Alasdair Armstrong | |
| 2019-04-16 | SMT: Fix inlining issues | 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-16 | Bugfixing | Thomas Bauereiss | |
| 2019-04-16 | SMT: Take care to not generate duplicate labels | Thomas Bauereiss | |
