| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-05-23 | riscv decode now uses mapping-decode and passes tests | Jon French | |
| 2018-05-23 | fix typo in error message in type_check.ml | Jon French | |
| 2018-05-21 | further RISCV mapping: all extant non-compressed instructions done | Jon French | |
| 2018-05-21 | fix bug in rewrite_defs_mapping_patterns where pattern-uses of mappings with ↵ | Jon French | |
| multiple arguments weren't type-checking correctly | |||
| 2018-05-18 | temporary HACK for aarch64: make rewrite_defs_pat_lits ignore strings | Jon French | |
| 2018-05-18 | more riscv mappings; riscv now builds successfully to lem which builds to ↵ | Jon French | |
| isabelle (but isabelle almost certainly broken) | |||
| 2018-05-17 | fix bug in rewrite_defs_pat_string_append -- make it pass types through ↵ | Jon French | |
| correctly | |||
| 2018-05-16 | fix a couple warnings in type_check.ml | Jon French | |
| 2018-05-16 | Add support for inline val-spec declaration for mappings | Jon French | |
| This means that a mapping which formerly had to be pre-declared like val name : a <-> b ... mapping name { x <-> y, ... } can now be shortened to mapping name : a <-> b { x <-> y, ... } | |||
| 2018-05-15 | Merge branch 'sail2' into mappings | Jon French | |
| 2018-05-15 | reorder lem rewrite passes and explicitly remove mapping valspecs; string ↵ | Jon French | |
| stuff now compiles to Lem | |||
| 2018-05-15 | rewrite_defs_guarded_pats: guards deserve rewriting too | Jon French | |
| 2018-05-14 | make debug printing of realised mappings both optional and lazy | Jon French | |
| 2018-05-12 | Fix bug in handling of registers with option type | Thomas Bauereiss | |
| Also add test cases and Isabelle lemmas | |||
| 2018-05-11 | More builtin names in constant propagation | Brian Campbell | |
| 2018-05-11 | Make nexp simplification a little smarter | Brian Campbell | |
| (should really make the Lem pretty printer use the solver properly, but this is a useful stopgap) | |||
| 2018-05-11 | Actually use the correct type for singleton rewriting this time | Brian Campbell | |
| 2018-05-11 | Be much more careful to introduce the right bitvector casts to the right sizes | Brian Campbell | |
| 2018-05-11 | Handle automatic existential unpacking in function application in mono analysis | Brian Campbell | |
| 2018-05-11 | Use type from funcl in singleton rewriting | Brian Campbell | |
| The pattern types may be subtypes, using those caused it to try rewriting int parameters and failing | |||
| 2018-05-11 | further riscv mapping | Jon French | |
| 2018-05-11 | support for mapping-patterns inside (should be) all other pattern types | Jon French | |
| 2018-05-11 | Remove buggy bit list comparison functions from Lem library | Thomas Bauereiss | |
| Found bugs by running CHERI test suite on Isabelle-exported model: signed less-than for bit lists was missing negations for the two's complement, and unsigned less-than compared the reverse lists. Since all other backends implement this in Sail, it seems best to just remove this code. Also add support for infix operators to Lem backend, by z-encoding their identifiers like the other backends do. | |||
| 2018-05-11 | Remove unneeded _sail suffix from latex files. | Robert Norton | |
| 2018-05-11 | Avoid generating latex files that differ only by case because this causes ↵ | Robert Norton | |
| confusion on case insensitive file systems (e.g. mac). | |||
| 2018-05-10 | latex: don't include the prefix in the label. This means we have the option ↵ | Robert Norton | |
| of omitting valspec in documentation if it is deemed too verbose and still have hyperlinks work. The caveat is that it could result in multiply defined labels. | |||
| 2018-05-10 | more mapping | Jon French | |
| 2018-05-10 | Type_check: special case appending an empty vector | Jon French | |
| 2018-05-10 | hacky monomorphic bits-string-parser for now | Jon French | |
| 2018-05-10 | Merge branch 'sail2' into mappings | Jon French | |
| 2018-05-10 | add space handling mappings to riscv prelude and sail_lib.ml | Jon French | |
| 2018-05-10 | generalise string pattern matching to arbitrary arguments rather than just ↵ | Jon French | |
| an id; also remove builtin special-casing as it's not needed! | |||
| 2018-05-09 | Add language=sail option in listings command for latex output. This helps ↵ | Robert Norton | |
| with documents containing listings in multiple languages. | |||
| 2018-05-09 | Fix an issue with C compilation | Alasdair Armstrong | |
| 2018-05-09 | Fix printing of hex strings in Lem | Thomas Bauereiss | |
| 2018-05-09 | Add tests for Isabelle->OCaml generation for CHERI and AArch64 | Thomas Bauereiss | |
| 2018-05-09 | Add more annotations for loop bounds in Lem rewriting | Thomas Bauereiss | |
| Typechecking for-loops failed after the Lem rewriting passes in some cases: if the lower bound for the loop may be greater than the upper bound, the loop variable's type might be empty, and it cannot be initialised. This patch adds a guard "lower <= upper" around the loop body, and removes it again during pretty-printing. | |||
| 2018-05-09 | Run ARM built-in tests for Lem backend (via OCaml) | Thomas Bauereiss | |
| 2018-05-09 | Support short-circuiting of Boolean expressions in Lem | Thomas Bauereiss | |
| 2018-05-09 | Generate initial register state record | Thomas Bauereiss | |
| Filled with default values (e.g., 0) and used to initialise the state monad. There is already code to generate a Sail function "initialize_registers", but this is monadic itself, so it cannot be used to initialise the monad. | |||
| 2018-05-09 | allow empty brackets to pass unit to sub-mpats | Jon French | |
| 2018-05-09 | Fix Byte_sequence errors due to linksem update | emersion | |
| 2018-05-08 | fixed sub-mappings | Jon French | |
| 2018-05-04 | Checked that variable names in split_fun rewrites are really variables | Brian Campbell | |
| Otherwise some clauses disappear | |||
| 2018-05-04 | Fix missing nexp id rewriting | Brian Campbell | |
| 2018-05-04 | Rewrite constant nexps in specs | Brian Campbell | |
| (from Thomas) | |||
| 2018-05-04 | Add support for top-level values to monomorphisation singleton rewrite | Brian Campbell | |
| 2018-05-04 | Fix mono cast introduction to avoid a checking to inference change | Brian Campbell | |
| Adds return type to pattern so that the original function body is still type checked, rather than switching to type inference which may fail. | |||
| 2018-05-04 | Start updating monomorphisation | Brian Campbell | |
| + add additional lexp + update aarch64 mono demo source - still needs support for tyvars from assignments in dependency analysis | |||
| 2018-05-04 | Rename type vars in Coq backend when they clash with identifiers | Brian Campbell | |
| Add value-only version of compute_{pat,exp}_alg to help Experiment with adding equality constraints between type vars and args in Coq output | |||
