| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-08-30 | Annotate the RISC-V prelude for C builtins. | Prashanth Mundkur | |
| Add some builtins to the C sail lib. Enable some gcc warnings. | |||
| 2018-08-30 | C: Fix a bug where function argument type becomes more specific due to flow ↵ | Alasdair Armstrong | |
| typing Added a regression test as c/test/downcast_fn.sail | |||
| 2018-08-30 | Coq: correct endianness reversal bug | Brian Campbell | |
| 2018-08-29 | C: Fix some issues with tuples as arguments to polymorphic constructors | Alasdair Armstrong | |
| Now all we need to do is make sure the RISC-V builtins are mapped to the correct C functions, and RISC-V in C should work (hopefully). We're still missing some of the functions in sail.c for the mappings so those have to be implemented. | |||
| 2018-08-29 | Updated snapshots for Isabelle 2018 | Thomas Bauereiss | |
| 2018-08-28 | Coq: make some library definitions compute | Brian Campbell | |
| 2018-08-28 | Adapt theory imports for Isabelle 2018 | Thomas Bauereiss | |
| Requires a recent Lem version that supports generating session-qualified imports, e.g. revision rems-project/lem@d92b077f1781765a65082c815ff363ef79499860 | |||
| 2018-08-20 | Add some more test cases for C compilation | Alasdair Armstrong | |
| Test that basic bi-directional mappings compile correctly Test that a minimal file importing the prelude compiles correctly | |||
| 2018-08-15 | Get RISC-V on Coq into reasonable state to show | Brian Campbell | |
| - Fill in Coq builtins for more of the RISC-V prelude - Update Barriers - More general autocast - Temporary sub_nat definition (until the backend handles nat better) - Patch to bring results into a reasonable state - Use Let rather than Definition for non-dependent top-level values | |||
| 2018-08-14 | Coq: attempt a quick proof before an indepth one | Brian Campbell | |
| 2018-08-14 | Merge remote-tracking branch 'origin/sail2' into polymorphic_variants | Alasdair Armstrong | |
| 2018-08-13 | Coq: more strings for RISC-V | Brian Campbell | |
| 2018-08-13 | Coq: drop irrelevant definitions before constraint solving | Brian Campbell | |
| (which were slowing down RISCV unacceptably because dealing with the xlen max/min values is surprisingly expensive) | |||
| 2018-08-10 | Coq: add some of string library | Brian Campbell | |
| 2018-08-09 | Coq: a bit more handling of unknown constraints | Brian Campbell | |
| 2018-08-07 | Improve cast introduction for Lem | Brian Campbell | |
| Handles mutable variables and conditionals (there are still some corner cases that don't appear in Aarch64 to do). The pretty printer is now back to preferring to use concrete types, but has a special case for casts to print more general types. | |||
| 2018-08-06 | Cast each argument to a polymorphic constructor into it's most general type | Alasdair Armstrong | |
| 2018-08-03 | Coq: use a dummy constraint when the real one is unknown | Brian Campbell | |
| Not really what we want, but a useful placeholder because of the widespread use of ex_int. | |||
| 2018-08-03 | Coq: generalise dependent pair handling a little | Brian Campbell | |
| 1. for monadic values (not in a terribly useful way, though) 2. for more types | |||
| 2018-08-02 | Coq: limit eauto to ensure termination in reasonable time | Brian Campbell | |
| 2018-08-02 | Fill in more Coq builtins for aarch64 | Brian Campbell | |
| 2018-08-02 | Update a few prover gitignores | Brian Campbell | |
| 2018-08-01 | Coq: implicit range conversions for function arguments, debug tracing | Brian Campbell | |
| The new option -dcoq_debug_on takes a list of functions to output tracing on. | |||
| 2018-07-23 | RTS: make g_cycle_count public | Alastair Reid | |
| This allows debug messages to include the current cycle count which can be useful for debugging. | |||
| 2018-07-18 | Coq: constraint solving improvements | Brian Campbell | |
| Use eauto so that user-added hints are more flexible, example with Replicate in aarch64, dropped zbool to prevent slow proof searches (and preprocessing deals with boolean comparisons now). Report failed constraints after preprocessing; Separate preprocessing tactic out. | |||
| 2018-07-17 | Coq: integer shifts | Brian Campbell | |
| 2018-07-17 | Coq: add printing stubs | Brian Campbell | |
| 2018-07-17 | Coq: handle E_constraint properly | Brian Campbell | |
| Adds missing constraints for aarch64 | |||
| 2018-07-16 | Coq: add support for more complex atom types | Brian Campbell | |
| As a result, add proof to pow2. | |||
| 2018-07-13 | Merge branch 'sail2' of github.com:rems-project/sail into sail2 | Brian Campbell | |
| 2018-07-12 | Add missing builtins needed for cheri128 C. Still doesn't build possibly due ↵ | Robert Norton | |
| to code gen issue. | |||
| 2018-07-12 | update arm and mips models for new type of write_ram builtin. Also fix c and ↵ | Robert Norton | |
| interpreter implementations of same. | |||
| 2018-07-12 | Coq: handle all bool conjunctions/disjunctions | Brian Campbell | |
| 2018-07-12 | Coq: remove unnecessary constraint on foreach loops | Brian Campbell | |
| 2018-07-11 | Partially revert change to add_vec_int et al | Thomas Bauereiss | |
| On second thought, this change should not really make a difference; the CHERI test suite still passes without it. Moreover, using unsigned conversion of the vector argument leads to more convenient lemmas for the provers. | |||
| 2018-07-11 | Fix off-by-one bugs in monomorphisation rewrites involving bitvector subranges | Thomas Bauereiss | |
| CHERI test suite now passes using Isabelle-generated emulator | |||
| 2018-07-11 | Fix some signedness bugs | Thomas Bauereiss | |
| add_vec_int and similar functions in the Lem library used unsigned instead of signed conversion. | |||
| 2018-07-10 | Update HOL setup | Brian Campbell | |
| 2018-07-10 | Add more Isabelle lemmas to library | Thomas Bauereiss | |
| 2018-07-09 | Changes for anonymisation. Ensure headers are in correct format. Remove some ↵ | Robert Norton | |
| redundant files. | |||
| 2018-07-09 | Update gitignore | Thomas Bauereiss | |
| 2018-07-09 | Add some syntactic sugar for Isabelle | Thomas Bauereiss | |
| 2018-07-09 | Simplify treating of undefined_bool in Lem library | Thomas Bauereiss | |
| Use nondeterministic choice by default instead of a deterministic bitstream generator in the state, which is slightly awkward to reason about, because every use of undefined_boolS changes the state. The previous behaviour can be implemented as Sail code, if desired. Also add a default implementation of internal_pick that nondeterministically chooses an element from a list. | |||
| 2018-07-09 | Bits for bits of aarch64 in coq | Brian Campbell | |
| 2018-07-07 | Coq: bbv have reorganised their repository | Brian Campbell | |
| 2018-07-07 | Coq: precise generic vectors | Brian Campbell | |
| (probably still some pattern matching to do, but I don't think the models use that) | |||
| 2018-07-07 | Coq: supply index constraint in for loops | Brian Campbell | |
| 2018-07-07 | Coq: eq_range should take proofs | Brian Campbell | |
| 2018-07-06 | Coq: use List.In predicates in constraint solving; make other bits robust | Brian Campbell | |
| 2018-07-05 | Fix equality comparisons for variants in C | Alasdair | |
| Makes sure equality comparisons for variants are compiled correctly. Needed for CHERI and mips, which have structs containing variants. Also make sure that struct equality works for structs containing other structs. | |||
