| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-02-26 | Last of the aarch64_no_vector monomorphisation replacements | Brian Campbell | |
| 2018-02-26 | work around linksem crashing when trying to print an elf file where ↵ | Robert Norton | |
| entry_point overflows an ocaml int. | |||
| 2018-02-26 | working sail2 mips spec (passes BERI tests). | Robert Norton | |
| 2018-02-26 | ADDU should sign extend 32-bit result. | Robert Norton | |
| 2018-02-26 | workaround sail2 not liking type synonyms as arguments to constructors (see #2). | Robert Norton | |
| 2018-02-26 | Fix SLTIU: note that immediate must be sign extended before unsigned comparison! | Robert Norton | |
| 2018-02-26 | Fix missing case in pattern completeness check | Alasdair Armstrong | |
| Fixes #4 | |||
| 2018-02-26 | Rename some Isabelle theories | Thomas Bauereiss | |
| The suffix _lemmas is more descriptive than _extras. | |||
| 2018-02-26 | Add/generate Isabelle lemmas about the monad lifting | Thomas Bauereiss | |
| Architecture-specific lemmas about concrete registers and types are generated and written to a file <prefix>_lemmas.thy, generic lemmas are in the theories *_extras.thy in lib/isabelle. In particular, State_extras contains simplification lemmas about the lifting from prompt to state monad. | |||
| 2018-02-24 | Fix C builtins | Alasdair Armstrong | |
| 2018-02-23 | Change links in README to point to github | Alasdair Armstrong | |
| Closes #3 | |||
| 2018-02-23 | Fix some bugs in C compilation | Alasdair Armstrong | |
| Fixed an issue with pattern matching on enums Fixed an issue whereby fix_early_returns would cause memory leaks Added optimizations for some of the builtins used in the decode function. Optimizations are turned on with the -O flag. | |||
| 2018-02-23 | Make mono test harness nicer | Brian Campbell | |
| 2018-02-23 | Allow guarded patterns rewrite to merge P_var patterns | Brian Campbell | |
| 2018-02-23 | Merge branch 'sail2' of github.com:rems-project/sail into sail2 | Robert Norton | |
| 2018-02-23 | Some tidy up of sail library - use extract_num from Big_int to implement ↵ | Robert Norton | |
| to_get_slice_int in less confusing way. Add arithmetic shift right. | |||
| 2018-02-23 | Change monomorphisation tests to proper output | Brian Campbell | |
| 2018-02-23 | test commit | Peter Sewell | |
| 2018-02-23 | Update more monomorphisation tests | Brian Campbell | |
| 2018-02-22 | More updates to C backend | Alasdair Armstrong | |
| Add support for short-ciruiting and/or. I forgot about this in the original ANF specification and not having it causes problems for the ARM spec. | |||
| 2018-02-22 | Curtail at more false assertions | Brian Campbell | |
| (plus some adjustments for the test case) | |||
| 2018-02-22 | Merge branch 'sail2' of github.com:rems-project/sail into sail2 | Robert Norton | |
| 2018-02-22 | wip | Robert Norton | |
| 2018-02-22 | Start resurrecting monomorphisation tests | Brian Campbell | |
| 2018-02-22 | Some Lem/OCaml compatibility fixes | Brian Campbell | |
| 2018-02-22 | Point merlin at pprint build | Brian Campbell | |
| 2018-02-21 | Can now compile aarch64/no_vector into C | Alasdair Armstrong | |
| Now compiles to C and builds a working executable. Just need to correctly implement all the library builtins (some are still stubs), and it should work. | |||
| 2018-02-21 | More aarch64 changes used in monomorphisation | Brian Campbell | |
| 2018-02-21 | Add more bitvector sizes for aarch64 | Brian Campbell | |
| 2018-02-21 | Implement more builtins in constant propagation | Brian Campbell | |
| 2018-02-21 | Cut out dead if branches according to the type environment during mono | Brian Campbell | |
| const progagation. Needed to avoid negative bitvector sizes on aarch64 Also propagate values found from "if var = const ...", which is needed in aarch64 | |||
| 2018-02-21 | Create an update_field function for each field in a bitfield definition | Alasdair Armstrong | |
| 2018-02-21 | Have aarch64/no_vector compiling to C | Alasdair Armstrong | |
| Just need to implement builtins, fix-up a few re-write passes, and integrate some kind of elf-loading and it should work. | |||
| 2018-02-21 | clean LICENCE | Peter Sewell | |
| 2018-02-20 | Remove temporary debugging message | Brian Campbell | |
| 2018-02-20 | Bump up case split limit for now | Brian Campbell | |
| 2018-02-20 | Simplifying nexp division, since the type checker can introduce it | Brian Campbell | |
| (otherwise you end up with div(64,8) in output sizes!) | |||
| 2018-02-20 | Report unsupported nexps properly in Lem backend | Brian Campbell | |
| 2018-02-20 | Rework atom-to-itself transformation to check for equivalent size nexps | Brian Campbell | |
| 2018-02-20 | Look for alternative size annotations when pretty printing Lem | Brian Campbell | |
| (so that we get enough type annotations for bitvectors) | |||
| 2018-02-20 | Allow overlapping bitfield field names | Alasdair Armstrong | |
| Allows bitfields to share field names by generating accessors as _get/set_name_field where name is the type name and field is the field name rather than _get/set_field. They are still accessed and set using just register.field() and register.field() = value. Fixes #1 | |||
| 2018-02-19 | Have generic vectors working in C backend | Alasdair Armstrong | |
| 2018-02-17 | Merge branch sail2 | Thomas Bauereiss | |
| 2018-02-17 | Merge master branch into sail2 for OCaml 4.06 compatibility | Thomas Bauereiss | |
| 2018-02-17 | Add a note detailing hopefully up-to-date install process | Alasdair Armstrong | |
| 2018-02-16 | Avoid nested explicit type annotations | Thomas Bauereiss | |
| Isabelle does not like nested annotations like "((exp :: typ) :: typ)". | |||
| 2018-02-16 | Don't generate undefined functions for generated register types | Thomas Bauereiss | |
| 2018-02-16 | Add __TakeColdReset function to aarch64_no_vector | Alasdair Armstrong | |
| Turns out the __TakeColdReset function is actually in the v8.3 XML. I went and looked for it, and it's there, it just wasn't being picked up by ASL parser because it's not called from any instructions. I added a new field to the json config files for ASL parser that can tell it about any such special functions that it should guarantee to include. Also fixed a bug in C loop compilation | |||
| 2018-02-16 | Add alternative definitions of aarch64 functions for monomorphisation | Brian Campbell | |
| 2018-02-16 | Can now compile aarch64/duopod to C | Alasdair Armstrong | |
| Goes through the C compiler without any errors, but as we still don't have all the requisite builtins it won't actually produce an executable. There are still a few things that don't work properly, such as vectors of non-bit types - but once those are fixed and the Sail library is implemented fully it should work. | |||
