| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-10-25 | Remove global symbol generator | Alasdair | |
| Rather than having a global symbol generating function gensym used throughout the C backend, instead 'generate' them as needed like: let (gensym, reset_gensym_counter) = symbol_generator "gs" This just makes things a bit neater and means we can reset the counter between definitions in jib_compile without worrying about other modules relying on global uniqueness | |||
| 2019-10-25 | Refactor Jib IR pretty printer | Alasdair Armstrong | |
| 2019-10-25 | Some more interpreter tweaks | Alasdair Armstrong | |
| 2019-10-25 | Coq: clean up some formatting | Brian Campbell | |
| 2019-10-25 | Coq: make sure solver can't accidentally use recursive definitions | Brian Campbell | |
| 2019-10-25 | Allow interactive commands to be setup outside isail.ml | Alasdair Armstrong | |
| can use Interactive.register_command to set up a new interactive command, which allows commands to be set up near where the functionality they interact with is defined, e.g. the ast slicing commands are registered in Slice.ml. Also allows help messages to be generated in a consistent way. | |||
| 2019-10-24 | Coq: use `abstract` to separate out proofs from definitions | Brian Campbell | |
| - requires fixpoint definitions containing proofs to be processed in proof mode (due to a bug in Coq), so change libraries and pretty printing to do that - adjust some lemmas to avoid extra evars | |||
| 2019-10-18 | Coq: tweak a state monad lifting rule to improve performance | Brian Campbell | |
| 2019-10-17 | Allow generating C that doesn't hard code any libraries | Alasdair Armstrong | |
| 2019-10-16 | Now builds arm address translation with clang -target aarch64-none-eabi | Alasdair Armstrong | |
| Some builtins need properly implementing still Use modified spinlock implementation from hafnium with stdatomic, rather than assembly | |||
| 2019-10-16 | Make nostd Sail arena allocator thread safe (maybe) | Alasdair | |
| 2019-10-15 | More work on bare-metal Sail | Alasdair Armstrong | |
| 2019-10-14 | Add -Ofixed_int and -Ofixed_bits to assume fixed-precision ints and ↵ | Alasdair Armstrong | |
| bitvectors in C Assumes a Sail C library that has functions with the right types to support this. Currently lib/int128 supports the -Ofixed_int option, which was previously -Oint128. Add a version of Sail C library that can be built with -nostdlib and -ffreestanding, assuming the above options. Currently just a header file without any implementation, but with the right types | |||
| 2019-10-02 | Coq: generate decidable equality instances for variant types | Brian Campbell | |
| It only produces them when necessary (because some types do not have decidable equality due to embedded proofs). Also add trivial instance for the unit type. | |||
| 2019-10-02 | Coq: limited support for existentially-typed tuples | Brian Campbell | |
| - in particular at monadic interfaces (i.e., sufficient for instruction ast types) - see commented out part of test/coq/pass/ast_with_dep_tuple.sail for an example that's not currently supported - generate definitions for type-level Bool definitions (i.e., predicates) | |||
| 2019-09-19 | Change Coq Hoare logic rules to produce nicer preconditions | Brian Campbell | |
| In particular, shift state lambdas outside of if/match/let which avoids unnecessary abstraction/applications. Add more rules to the tactic. | |||
| 2019-09-19 | Expand Coq Hoare logic and congruence rules to more operators | Brian Campbell | |
| Also tweak the informative and/or boolean definitions so that they use the same proofs in both monads. | |||
| 2019-09-12 | Remove unnecessary copies of non-existant files in ocaml backend. | Robert Norton | |
| 2019-09-02 | Enable part of a test that's been fixed recently. | Brian Campbell | |
| 2019-09-02 | Coq: add properly checked subrange update, reduce imports | Brian Campbell | |
| 2019-08-30 | Add a couple of overlooked tests | Brian Campbell | |
| 2019-08-29 | Clean up some mono tests | Brian Campbell | |
| 2019-08-29 | Turn the two abs_int declarations into overloads | Brian Campbell | |
| (otherwise Sail uses the type from one and the extern from the other) | |||
| 2019-08-22 | Coq: tactics to do rewrites under state monad, simple wp computation | Brian Campbell | |
| 2019-08-22 | additional option to tweak Coq output to support user-defined monad: | pes20 | |
| -coq_alt_modules2 <filename> provide additional alternative modules to open only in main (non-_types) Coq output, and suppress default definitions of MR and M monads | |||
| 2019-08-20 | Merge branch 'sail2' of github.com:rems-project/sail into sail2 | pes20 | |
| 2019-08-20 | add -coq_alt_modules option to override the default imported modules | pes20 | |
| 2019-08-20 | add -coq_alt_modules option to override the default imported modules | pes20 | |
| 2019-08-20 | add -coq_alt_modules option to override the default imported modules | pes20 | |
| 2019-08-19 | Coq: add bools_of_bits_nondet and friends to library | Brian Campbell | |
| 2019-08-14 | Update tests | Thomas Bauereiss | |
| 2019-08-14 | Add a mono rewrite for (ones(n) @ zeros(m)) | Thomas Bauereiss | |
| 2019-08-14 | Inline reg_deref in Lem output | Thomas Bauereiss | |
| 2019-08-14 | Use bitvector type in mono rewrites | Thomas Bauereiss | |
| Also don't require a previously declared default vector indexing order in vector_dec.sail. | |||
| 2019-08-14 | Fix bug in mono rewrites | Thomas Bauereiss | |
| 2019-08-14 | Coq library work for proofs: | Brian Campbell | |
| * rename state fields to avoid clash with regstate type * use rewriting to automate some proofs | |||
| 2019-08-13 | Coq: definitions for cheri128 model | Brian Campbell | |
| Add count_leading_zeros, and correct a precedence error in min/max. | |||
| 2019-08-13 | Coq: fix non-exhaustive pattern match failure in riscv duopod | Brian Campbell | |
| 2019-08-08 | Fix machine words again | Alasdair Armstrong | |
| 2019-08-08 | Update machine words | Alasdair Armstrong | |
| 2019-08-08 | Fix bitvectorToFromInterp | Alasdair Armstrong | |
| 2019-08-08 | Use bitToFromInterp in bitvectorToFromInterp | Alasdair Armstrong | |
| 2019-08-08 | Add same to bitlist representation | Alasdair Armstrong | |
| 2019-08-08 | Add bitvectorToFromInterp | Alasdair Armstrong | |
| 2019-08-05 | Print effect sets in alphabetical order | Alasdair Armstrong | |
| 2019-08-05 | Remove escape/pure effect restriction for mapping | Alasdair Armstrong | |
| 2019-08-02 | Fix all warnings (except for two lem warnings) | Alasdair Armstrong | |
| Remove P_record as it's never been implemented in parser/typechecker/rewriter, and is not likely to be. This also means we can get rid of some ugliness with the fpat and mfpat types. Stubs for P_or and P_not are left as they still may get added to ASL and we might want to support them, although there are good reasons to keep our patterns simple. The lem warning for while -> while0 for ocaml doesn't matter because it's only used in lem, and the 32-bit number warning is just noise. | |||
| 2019-08-02 | Fix up some edge cases with the bitvector/polyvector split | Brian Campbell | |
| Mostly in the Coq backend, plus a few testcases that use bitvector builtins on poly-vectors (which works on some backends, but not Coq). Also handle some additional list inclusion proofs in Coq. | |||
| 2019-08-01 | Merge branch 'sail2' into separate_bv | Alasdair Armstrong | |
| 2019-08-01 | Merge remote-tracking branch 'origin/rv_duopod_fix' into sail2 | Alasdair Armstrong | |
| Fixes #53 | |||
