| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-01-31 | Make cast insertion handle more complex nexps and pushing casts into blocks | Brian Campbell | |
| # Conflicts: # src/monomorphise.ml | |||
| 2019-01-31 | Monomorphisation: improve cast insertion and nexp rewriting on variants | Brian Campbell | |
| It now pushes casts into lets and constructor applications, and so supports the case needed for RISC-V. | |||
| 2019-01-31 | Add missing cases to constraint comparison | Brian Campbell | |
| 2019-01-31 | Support case splitting on variables as well as sizeof in cast introduction | Brian Campbell | |
| 2019-01-29 | Improve generation of initial register state | Thomas Bauereiss | |
| Define initial values for record types once instead of repeating them in the initial register state. | |||
| 2019-01-28 | Lem: Be more careful about nexps occurring in the function signature | Thomas Bauereiss | |
| Don't ask Z3 to simplify them, as flow typing might lead to different results in different if-branches, for example, leading to type errors in Lem. | |||
| 2019-01-25 | Monomorphisation: update a built-in name | Brian Campbell | |
| 2019-01-25 | Fix solution finding using SMT by looking for the right variable | Brian Campbell | |
| 2019-01-23 | Minor opam release to fix #26. Also includes new unrolling pragma. | Robert Norton | |
| 2019-01-23 | Don't let "make" fail unnecessarily in lib/isabelle | Thomas Bauereiss | |
| Only check for availability of Lem library if actually trying to build an Isabelle heap image. | |||
| 2019-01-22 | Add some more test cases | Alasdair Armstrong | |
| 2019-01-22 | Add a pragma for unrolling recursive functions | Alasdair Armstrong | |
| For example in RISC-V for the translation table walk: $optimize unroll 2 val walk32 ... function walk32 ... would create two extra copies of the walk_32 function, walk_32_unroll_1 and walk_32_unroll_2, with only walk_32_unroll_2 being recursive. Currently we only support the case where we have $optimize unroll, directly followed by a valspec, then a function, but this should be generalised in future. This optimization nearly doubles the performance of RISC-V It is implemented using a new Optimize.recheck rewrite that replaces the ordinary recheck_defs pass. It uses a new typechecker check_with_envs function that allows re-writes to utilise intermediate typechecking environments to minimize the amount of AST checking that occurs, for performance reasons. Note that older Sail versions including the current OPAM release will complain about the optimize pragma, so this cannot be used until they become up to date with this change. | |||
| 2019-01-22 | Bump opam version for release. | Robert Norton | |
| 2019-01-22 | Build isabelle and hol files in lib from lem before opam install. | Robert Norton | |
| 2019-01-22 | Don't hardcode location of BBV library | Thomas Bauereiss | |
| 2019-01-22 | Make sure there is an ocaml representation for optimized memory read for | Alasdair | |
| RISC-V | |||
| 2019-01-22 | Make sure we optimize constrained union constructors | Alasdair | |
| 2019-01-21 | The RISCV environment variable collides with common usage by the RISC-V ↵ | Prashanth Mundkur | |
| toolchain; use SAIL_RISCV instead to refer to sail-riscv. | |||
| 2019-01-21 | Pass Lem library path to Isabelle | Thomas Bauereiss | |
| 2019-01-21 | Don't require manual set up of Isabelle session directories | Thomas Bauereiss | |
| Since Isabelle 2018, specifying the same directory both on the command line and persistently in the user's ROOTS file is allowed, so we don't have to choose between one or the other any more. | |||
| 2019-01-21 | Fix typo in install instructions | Alasdair Armstrong | |
| 2019-01-21 | Remove old emacs mode to avoid confusion | Alasdair Armstrong | |
| 2019-01-21 | Update manual snapshot and add basic sail -latex documentation | Alasdair Armstrong | |
| 2019-01-21 | Fix build of Isabelle documentation | Thomas Bauereiss | |
| 2019-01-21 | Add output directory option for generated Isabelle auxiliary theories | Thomas Bauereiss | |
| 2019-01-21 | Fix some issues with latex generation so manual builds again | Alasdair Armstrong | |
| since riscv is no longer in this repository, and we use the RISC-V duopod as an example, you need to build as: make RISCV=directory manual.pdf if directory is not equal to ../../sail-riscv (which is where it would be if sail and sail-riscv are checked out in the same respository together) | |||
| 2019-01-21 | Fix a bug with type-checking and latex generation | Alasdair Armstrong | |
| We should maybe just make the -latex option behavior the default to avoid this kind of thing | |||
| 2019-01-19 | wib | Shaked Flur | |
| 2019-01-16 | Latex: handle underscores when generating latex names. | Prashanth Mundkur | |
| 2019-01-14 | Add options for output directories for the lem and coq backends. | Prashanth Mundkur | |
| 2019-01-13 | update README | Peter Sewell | |
| 2019-01-13 | update README with current model repos | Peter Sewell | |
| 2019-01-09 | Update Coq snapshots | Brian Campbell | |
| 2019-01-09 | Coq: the division used in smt.sail should be Euclidean | Brian Campbell | |
| 2019-01-09 | Coq: add parens around negative integer literals | Brian Campbell | |
| 2019-01-09 | Coq: add truncateLSB and import Zeuclid by default | Brian Campbell | |
| 2019-01-02 | Coq: tweak recently introduced type check to ignore effects | Brian Campbell | |
| 2019-01-01 | Coq: update instr_kinds from Lem | Brian Campbell | |
| 2018-12-31 | Last rewrite reordering needs more typechecking | Brian Campbell | |
| 2018-12-31 | Coq: move function clause merging to keep measure argument intact | Brian Campbell | |
| 2018-12-30 | Sort dependencies of termination measures properly | Brian Campbell | |
| 2018-12-29 | Coq: ensure that recursive functions compute | Brian Campbell | |
| 2018-12-29 | Add separate termination_measure declarations | Brian Campbell | |
| 2018-12-27 | Coq: avoid putting ambiguous numeric literals in Coq output | Brian Campbell | |
| There are situations when we really want a more refined expression, such as 8 * n instead of 64 (when we know n = 8 from a case split), but we might not be able to generate it. For now we generate an underscore and let Coq figure it out from the context. | |||
| 2018-12-27 | Coq: fix name clashes and instantiation calculation | Brian Campbell | |
| 2018-12-27 | Coq: make solver try hints before stripping away existentials | Brian Campbell | |
| (which allows us to avoid a Coq bug where the proof isn't recorded correctly) | |||
| 2018-12-23 | Remove a comment that breaks Isabelle build | Thomas Bauereiss | |
| With the new comment syntax, Isabelle seems to barf on that comment, apparently due to the backslashes. | |||
| 2018-12-22 | Added RISC-V fence.tso | Shaked Flur | |
| 2018-12-20 | RISVC model is now at https://github.com/rems-project/sail-riscv . Remove it ↵ | Robert Norton | |
| and tests. | |||
| 2018-12-19 | Coq: handle pairs of ranges (and other existential types) properly | Brian Campbell | |
| (Needed for current CHERI.) | |||
