| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-01-29 | Output a few more type annotations for Lem | Thomas Bauereiss | |
| Allow pretty-printing of existential types, if the existentially quantified variables do not actually appear in the Lem output. This is useful for the bit list representation of bitvectors, as it will print the type annotation "list bitU" for bitvectors whose length depends on an existentially quantified variable. | |||
| 2018-01-29 | Add a fixme for unhandled fences but allow them to execute. | Prashanth Mundkur | |
| 2018-01-29 | Initial handling of CSR reads/writes. | Prashanth Mundkur | |
| 2018-01-29 | Add satp to CSR dummy implemented predicate. Also direct the illegal ↵ | Prashanth Mundkur | |
| instruction exception through the exception handler. | |||
| 2018-01-29 | use check target in makefile when checking riscv spec. | Robert Norton | |
| 2018-01-29 | riscv: fix warnings about incomplete patterns. Add a check target in ↵ | Robert Norton | |
| Makefile which is useful because ocaml generation currently produces some spurious warnings due to running type checker between rewritings. | |||
| 2018-01-29 | Sync mono rewrites definitions with library | Brian Campbell | |
| 2018-01-29 | Look through let expressions when constructing nconstraints | Brian Campbell | |
| (needed for handling guards after atom-to-itself transformation in monomorphisation) | |||
| 2018-01-29 | Leave pure if-conditions in place instead of pulling out let-bindings | Brian Campbell | |
| 2018-01-29 | Set maximum split size to work with aarch64 no vector | Brian Campbell | |
| 2018-01-29 | Get typechecking to resolve overriding in remove numeral patterns rewrite | Brian Campbell | |
| 2018-01-29 | Move subst to ast_util, use for guarded clauses rewrite | Brian Campbell | |
| 2018-01-29 | Add some initial exception handling to the riscv execution loop. | Prashanth Mundkur | |
| 2018-01-29 | Merge branch 'sail2' of https://bitbucket.org/Peter_Sewell/sail into sail2 | Robert Norton | |
| 2018-01-29 | riscv: remove break from main loop and place val spec in prelude. | Robert Norton | |
| 2018-01-29 | riscv: add tracing of register writes. | Robert Norton | |
| 2018-01-29 | add tohost to value.ml | Robert Norton | |
| 2018-01-29 | implement shift primitives in sail_lib.ml | Robert Norton | |
| 2018-01-29 | Further updates to C backend | Alasdair Armstrong | |
| 2018-01-29 | Added ecall/mret and exception support. | Prashanth Mundkur | |
| 2018-01-29 | Fix a bug where structs containing unions would generate bad to_string functions | Alasdair Armstrong | |
| Added a regression test in test/ocaml/string_of_struct | |||
| 2018-01-29 | Merge branch 'sail2' of https://bitbucket.org/Peter_Sewell/sail into sail2 | Alasdair Armstrong | |
| 2018-01-29 | Shaked removing generation of now-uncessary uint dependency | Peter Sewell | |
| 2018-01-29 | Linksem does not use uint anymore | Shaked Flur | |
| 2018-01-29 | Fix error in RISCV: SLLI and SRLI were swapped... | Robert Norton | |
| 2018-01-29 | Turn off constraint substitution in mono | Brian Campbell | |
| (Type checker doesn't seem to use false aggressively enough for this) | |||
| 2018-01-29 | Use fresh variables when dealing with (multiple) literal patterns | Brian Campbell | |
| 2018-01-29 | Turn off warnings when rechecking after mono | Brian Campbell | |
| 2018-01-29 | Avoid generating (_ as n) in mono, broke atom type rewriting | Brian Campbell | |
| 2018-01-27 | Add Makefile for RISC-V | Thomas Bauereiss | |
| 2018-01-26 | Fixed loading ARM elf files | Alasdair Armstrong | |
| Also refactored the hand written ARM prelude and pulled out some common functionality into files in sail/lib | |||
| 2018-01-26 | One more mono rewrite | Brian Campbell | |
| 2018-01-26 | Missing -ocamlfind | Brian Campbell | |
| 2018-01-26 | Add replacement of complex nexp sizes by equivalent variables in mono | Brian Campbell | |
| 2018-01-26 | Preserve more typing info in monomorphisation for later stages | Brian Campbell | |
| 2018-01-26 | More work on C backend | Alasdair Armstrong | |
| 2018-01-26 | Give LEM test suite a more useful name for benefit of jenkins. | Robert Norton | |
| 2018-01-26 | Shebang must be first line of file. Fixes RISCV test failing on jenkins due ↵ | Robert Norton | |
| to non-bash default shell. | |||
| 2018-01-25 | Add mli file for pattern completeness module | Alasdair Armstrong | |
| 2018-01-25 | Merge branch 'sail2' of https://bitbucket.org/Peter_Sewell/sail into sail2 | Alasdair Armstrong | |
| 2018-01-25 | Add pattern completness check for match statements | Alasdair Armstrong | |
| Gives warnings when pattern matches are incomplete, when matches are redundant (in certain cases), or when no unguarded patterns exist. For example the following file: enum Test = {A, C, D} val test1 : Test -> string function test1 x = match x { A => "match A", B => "this will match anything, because B is unbound!", C => "match C", D => "match D" } val test2 : Test -> string function test2 x = match x { A => "match A", C => "match C" /* No match for D */ } val test3 : Test -> string function test3 x = match x { A if false => "never match A", C => "match C", D => "match D" } val test4 : Test -> string function test4 x = match x { A if true => "match A", C if true => "match C", D if true => "match D" } will produce the following warnings Warning: Possible redundant pattern match at file "test.sail", line 10, character 5 to line 10, character 5 C => "match C", Warning: Possible redundant pattern match at file "test.sail", line 11, character 5 to line 11, character 5 D => "match D" Warning: Possible incomplete pattern match at file "test.sail", line 17, character 3 to line 17, character 7 match x { Most general matched pattern is A_|C_ Warning: Possible incomplete pattern match at file "test.sail", line 26, character 3 to line 26, character 7 match x { Most general matched pattern is C_|D_ Warning: No non-guarded patterns at file "test.sail", line 35, character 3 to line 35, character 7 match x { warnings can be turned of with the -no_warn flag. | |||
| 2018-01-25 | Use set asserts as case splits in monomorphisation | Brian Campbell | |
| 2018-01-25 | Missing type expansion | Brian Campbell | |
| 2018-01-25 | Handle bound variables properly with precise case splitting | Brian Campbell | |
| 2018-01-25 | Fix building bytecode sail | Brian Campbell | |
| 2018-01-25 | Basic support for match x[5 .. 2] with case splits | Brian Campbell | |
| 2018-01-25 | Implement basic case splitting based on found case expressions | Brian Campbell | |
| (makes some of the monomorphisation case splits smaller) | |||
| 2018-01-25 | Extend RISCV main loop with support for tohost interface used by test suite ↵ | Robert Norton | |
| for terminating the test. | |||
| 2018-01-25 | Omit redundant let-bindings when rewriting (bit-)vector patterns | Thomas Bauereiss | |
| Only add bindings for sub-patterns if they are actually used in the pattern guard or expression, respectively. | |||
| 2018-01-25 | Rewrite bitvector patterns for OCaml and C backends | Thomas Bauereiss | |
| Seems to increase compilation speed significantly for OCaml 4.05. | |||
