| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-02-08 | Add missing functions to HOL monad wrapper | Thomas Bauereiss | |
| Also make the rewriter keep failed assertions in output when pruning blocks. | |||
| 2019-02-07 | Monomorphisation tweaks for v8.5 | Thomas Bauereiss | |
| Various tweaks to the monomorphisation rewrites. Disable old sizeof rewriting for Lem backend and rely on the type checker rewriting implicit arguments. Also avoid unifying nexps with sums, as this can easily fail due to commutativity and associativity. | |||
| 2019-02-06 | Fix some tests | Alasdair Armstrong | |
| 2019-02-06 | Remove all sizeof rewriting from C compilation | Alasdair | |
| All sizeof expressions now removed by the type-checker, so it's now properly a type error if they cannot be removed rather than a bizarre re-write error. This also greatly improves compilation speed overall, at the expense of the first type-checking pass. | |||
| 2019-02-04 | Fix some warnings | Alasdair Armstrong | |
| 2019-02-02 | Merge remote-tracking branch 'origin/sail2' into asl_flow2 | Alasdair | |
| 2019-02-01 | Tweak HOL LEM_DIR to match riscv makefile | Brian Campbell | |
| 2019-02-01 | Make hol libraries use opam Lem library by default | Brian Campbell | |
| 2019-01-31 | Build Isabelle heap image instead of just running session | Thomas Bauereiss | |
| 2019-01-31 | Adapt HOL library to monad changes | Thomas Bauereiss | |
| 2019-01-31 | Merge branch 'monads' into asl_flow2 | Thomas Bauereiss | |
| 2019-01-29 | Fixes for full v8.5 | Alasdair Armstrong | |
| 2019-01-29 | Add a few more type annotations after mono rewrites | Thomas Bauereiss | |
| 2019-01-29 | Merge branch 'sail2' into asl_flow2 | Thomas Bauereiss | |
| 2019-01-24 | Start supporting informative bool types in Coq backend | Brian Campbell | |
| 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 | Don't hardcode location of BBV library | Thomas Bauereiss | |
| 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 build of Isabelle documentation | Thomas Bauereiss | |
| 2019-01-14 | Merge remote-tracking branch 'origin/sail2' into asl_flow2 | Alasdair | |
| 2019-01-10 | Fixes so 8.5 with vector instructions compiles to C | Alasdair Armstrong | |
| 2019-01-09 | Coq: the division used in smt.sail should be Euclidean | Brian Campbell | |
| 2019-01-09 | Merge sail2 into monads | Thomas Bauereiss | |
| 2019-01-09 | Coq: add truncateLSB and import Zeuclid by default | Brian Campbell | |
| 2019-01-04 | Add a few helper lemmas | Thomas Bauereiss | |
| 2019-01-04 | C library: fix fprintf warnings in lib/elf.c | Alastair Reid | |
| 2019-01-01 | Coq: update instr_kinds from Lem | Brian Campbell | |
| 2018-12-29 | Coq: ensure that recursive functions compute | 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-22 | Added RISC-V fence.tso | Shaked Flur | |
| 2018-12-19 | Coq: add zeros library function (used by MIPS) | Brian Campbell | |
| 2018-12-19 | Coq: handle existentials in hypotheses during solving, add max_nat, better casts | Brian Campbell | |
| 2018-12-18 | Fix rewriter issues | Alasdair Armstrong | |
| Fixes some re-writer issues that was preventing RISC-V from building with new flow-typing constraints. Unfortunately because the flow typing now understands slightly more about boolean variables, the very large nested case statements with matches predicates produced by the string-matching end up causing a huge blowup in the overall compilation time. | |||
| 2018-12-18 | Merge branch 'sail2' into monads | Thomas Bauereiss | |
| 2018-12-17 | Changes for ASL parser | Alasdair Armstrong | |
| 2018-12-17 | Adapt Coq and termination measure support to typechecker changes | Brian Campbell | |
| Also output termination measures in Sail printer | |||
| 2018-12-14 | Add truncateLSB builtin useful for implementing Cheri Concentrate. Also add ↵ | Robert Norton | |
| bool_of_bit and bit_of_bool in sail_lib | |||
| 2018-12-13 | Remove redundant zero extensions more aggressively in mono rewrites | Thomas Bauereiss | |
| subrange_subrange_concat does a zero extension internally, so another zero extension of its result is redundant and can lead to a type error in Lem (because Lem's type system cannot calculate the length of the intermediate result of subrange_subrange_concat). | |||
| 2018-12-13 | Fix issue with sizeof-rewriting and monomorphisation | Alasdair Armstrong | |
| Sizeof-rewriting could introduce extra arguments to functions that instantiate_simple_equations could fill in with overly complicated types, causing unification to fail when building lem. | |||
| 2018-12-13 | Merge remote-tracking branch 'origin/sail2' into asl_flow | Alasdair | |
| 2018-12-12 | Move much of recursive function termination to a rewrite | Brian Campbell | |
| It now includes updating the effects so that morally pure recursive functions can be turned into this impure termination-by-assertion form. | |||
| 2018-12-11 | Fix all tests with type checking changes | Alasdair Armstrong | |
| 2018-12-11 | Initial attempt at using termination measures in Coq | Brian Campbell | |
| This only applies to recursive functions and uses the termination measure merely as a limit to the recursive call depth, rather than proving the measure correct. | |||
| 2018-12-11 | Fix most remaining tests on branch | Alasdair | |
| 2018-12-10 | Various changes: | Alasdair Armstrong | |
| * Improve type inference for numeric if statements (if_infer test) * Correctly handle constraints for existentially quantified constructors (constraint_ctor test) * Canonicalise all numeric types in function arguments, which triggers some weird edge cases between parametric polymorphism and subtyping of numeric arguments * Because of this eq_int, eq_range, and eq_atom etc become identical * Avoid duplicating destruct_exist in Env * Handle some odd subtyping cases better | |||
| 2018-12-03 | Add Write_mem event/outcome without tag | Thomas Bauereiss | |
| The inter-instruction semantics is responsible for correctly handling memory writes without tags; the lifting to the state monad handles it as writing a value with a zero tag bit. | |||
| 2018-12-03 | Make names of memory r/w events more consistent | Thomas Bauereiss | |
| Use E_read_memt for reading tagged memory, as in sail2_impl_base.lem, and rename E_write_mem to E_write_memt, since it always writes a tag. | |||
