| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-03-06 | Improve AST slicing | Alasdair Armstrong | |
| 2019-03-06 | Add option to slice out printing and tracing functions when generating C | Alasdair Armstrong | |
| Make instruction dependency graph use graph.ml Expose incremental graph building functions for performance in graph.mli | |||
| 2019-03-05 | Fix missing case in specialization | Alasdair | |
| 2019-03-05 | More optimizations and improvments for C generation | Alasdair Armstrong | |
| Add some comments in constant_fold.ml | |||
| 2019-03-05 | Add missing comma in armV8.sail | Alasdair Armstrong | |
| 2019-03-05 | Add forgotten recursive function test | Brian Campbell | |
| 2019-03-05 | Add Unallocated to the gen files | Ben Simner | |
| Adds the Unallocated sail ast node to be tracked by all the transformation files, to track the change made to sail1. | |||
| 2019-03-05 | Coq: firstorder is better at the boolean goals | Brian Campbell | |
| 2019-03-05 | Coq: use setoid rewriting to apply under an existential binder | Brian Campbell | |
| 2019-03-05 | Coq: use more local type information when constructing tuples | Brian Campbell | |
| 2019-03-05 | Coq: some debugging messages | Brian Campbell | |
| 2019-03-05 | Coq: output type-level Int definitions | Brian Campbell | |
| 2019-03-05 | Coq 8.9 compatibility fix | Brian Campbell | |
| 2019-03-05 | Additional optimizations for C compilation | Alasdair | |
| 2019-03-04 | Fix aarch64_small test XML for jenkins | Alasdair Armstrong | |
| Rename rewrite_split_fun_constr_pats to rewrite_split_fun_ctor_pats as constr is commonly used as an abbreviation for constraint rather than constructor, and add a more descriptive comment. | |||
| 2019-03-04 | Add test for building handwritten ARM to lem for Jenkins | Alasdair Armstrong | |
| 2019-03-04 | Fix execute splitting to work when constructors have constraints. | Alasdair Armstrong | |
| Previously any constraints on constructors were just outright dropped when splitting the execute function in Lem generation. Now we get the constraints and type signature for each execute clause from the type given by Env.get_union_constructor, rather than by inferring the type of the pattern in each function clause. Currently this can still fail in the case where we have union U('x: Int), C1('x) = { ctor: {'y. C2('x, 'y), T('x, 'y)} } and val execute : forall 'z, C3('z). U('z) -> unit when C3 implies C1, and the body of an excute clause relies on the fact that C3 is stronger than C1, as each split function execute_ctor is only guaranteed to be constrained by some subset of C1. This seems unlikely to happen in practice though. Also fix a bug when binding P as int('T) against int('T) and similar cases, where the new type variable would cause the old type variable to become shadowed, but the constraint that the bound type variable and the old type variable are equal would not take this into account. | |||
| 2019-03-04 | Merge branch 'sail2' of https://github.com/rems-project/sail into sail2 | Christopher Pulte | |
| 2019-03-04 | check in missing regfp2.sail | Christopher Pulte | |
| 2019-03-04 | Do not store type synonyms as functions in the environment | Alasdair Armstrong | |
| 2019-03-04 | cleanup | Christopher Pulte | |
| 2019-03-04 | Merge branch 'sail2' of https://github.com/rems-project/sail into sail2 | Christopher Pulte | |
| 2019-03-04 | last bit of sail1 to sail2 porting | Christopher Pulte | |
| 2019-03-04 | Add location to warning in pattern completeness check | Alasdair Armstrong | |
| 2019-03-04 | more sail1-to-sail2 porting | Christopher Pulte | |
| 2019-03-04 | more porting of armv8 from sail1 to sail2 | Christopher Pulte | |
| 2019-03-04 | more | Christopher Pulte | |
| 2019-03-02 | more | Christopher Pulte | |
| 2019-03-02 | more | Christopher Pulte | |
| 2019-03-02 | Merge branch 'sail2' of https://github.com/rems-project/sail into sail2 | Christopher Pulte | |
| 2019-03-02 | more | Christopher Pulte | |
| 2019-03-01 | WIP: Start working on being able to slice single instructions out of specs | Alasdair Armstrong | |
| 2019-03-01 | Add some tricky test cases for quantified Sail AST types | Alasdair Armstrong | |
| Fixes some bugs found by doing this | |||
| 2019-03-01 | Coq: some library compatibility changes | Brian Campbell | |
| 2019-03-01 | Add a test case for previous commit | Alasdair Armstrong | |
| Also make unifying int against int('n) work as expected for constructor applications. | |||
| 2019-03-01 | Merge branch 'sail2' of https://github.com/rems-project/sail into sail2 | Christopher Pulte | |
| 2019-03-01 | Fix bug with naturals in quantified constructors | Alasdair Armstrong | |
| 2019-03-01 | Merge branch 'sail2' of https://github.com/rems-project/sail into sail2 | Christopher Pulte | |
| 2019-03-01 | Make Sail more flexible with existentials in union types | Alasdair Armstrong | |
| Issues came up with Christophers translation of hand-written ARM into Sail2 where we were being overly pedantic about the exact position of existential quantifiers in constructors with multiple arguments. This commit generalises unify_typ and type_coercion_unify to be more flexible and support this. Should think at some point if unify_typ can be generalised further. This fix should fix the decode side of things, but may be some issues with the executes that still need looking into when existentials and multiple argument constructors are mixed. | |||
| 2019-03-01 | Fill in some edge cases in monomorphisation | Brian Campbell | |
| 2019-03-01 | more progress | Christopher Pulte | |
| 2019-03-01 | Coq tidying: remove old definition, complete a pattern match | Brian Campbell | |
| 2019-03-01 | Coq: add a little bit of boolean solving | Brian Campbell | |
| Just enough for RISC-V to go through | |||
| 2019-03-01 | Coq: make iff `iff` | Brian Campbell | |
| Also drop unused implication function | |||
| 2019-02-28 | Handle implicits in destruct_atom_nexp | Brian Campbell | |
| 2019-02-28 | Coq: remove unused library definitions | Brian Campbell | |
| 2019-02-28 | Coq: Clean up rich boolean handling in backend | Brian Campbell | |
| Now generates something vaguely sensible for RISC-V, although the solver needs a little work. Adds type annotations around effectful, rich and/or expressions. | |||
| 2019-02-28 | Coq: more for informative booleans | Brian Campbell | |
| Make internal_plet produce annotations (with code to replace unusable type variables) Add mappings for bool kids at bindings Add version of and_bool that proves a property | |||
| 2019-02-28 | Coq: update tyvar merge information at other binders | Brian Campbell | |
| 2019-02-28 | Turn off some debugging messages | Brian Campbell | |
