| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-07-31 | Merge branch 'sail2' into union_barrier | Alasdair Armstrong | |
| 2019-07-31 | Remove redundant ifdef and run SMT tests by default | Alasdair Armstrong | |
| 2019-07-31 | Change platform_barrier so it doesn't care about it's argument type | Alasdair Armstrong | |
| 2019-07-29 | Coq: add state monad version of while/until loops and lifting results | Brian Campbell | |
| 2019-07-25 | Update Coq barrier definition | Brian Campbell | |
| 2019-07-25 | Basic port of proof machinery to Coq | Brian Campbell | |
| 2019-07-18 | Need to separate out the 0.10 lem library from upcoming 0.11 | Alasdair Armstrong | |
| Unlike the prompt-monad change I don't see a way to do this easily purely on the model side Make sure a64_barrier_type and domain aren't visible for RISC-V isabelle build | |||
| 2019-07-18 | Add a feature flag for barrier type change | Alasdair Armstrong | |
| Fix SMT mem_builtin test case | |||
| 2019-07-18 | Update aarch64_small to build with new barriers | Alasdair Armstrong | |
| Make sure barrier changes don't affect other models for now | |||
| 2019-07-18 | Support DMB/DSB domains | Shaked Flur | |
| 2019-07-15 | Add a fast path to speed up platform_read_ram: use fast_read_ram if read is ↵ | Robert Norton | |
| 8 bytes or less to avoid cost of using GMP integers (including free/malloc). | |||
| 2019-07-04 | Add coq builtin for concat_str (copied from mips prelude). | Robert Norton | |
| 2019-06-27 | SMT: Add a reverse endianness function and fix some bugs | Alasdair Armstrong | |
| 2019-06-27 | Coq: less constrained version of slice for ARM model | Brian Campbell | |
| 2019-06-21 | Coq: even more robust handling of unknown goals | Brian Campbell | |
| 2019-06-21 | Coq: better handling of unknown constraints | Brian Campbell | |
| Move the tactic forward so that preprocessing can't try silly things, simpl to get rid of embedded proofs. | |||
| 2019-06-20 | Coq: avoid some unnecessary reduction in the constraint solver | Brian Campbell | |
| 2019-06-19 | Monomorphisation improvements for aarch64_small | Brian Campbell | |
| - additional rewrites (signed extend of subrange@zeros, subrange assignment, variants with casts) - drop # from new top-level type variables (e.g., n_times_8) so that the rewriter knows that they're safe to include in casts - add casts in else-branches when only one possible value for a size is left - add casts when assertions force a size to be a particular value - don't use types to detect set constraints in analysis because we won't know which part of the assertion should be replaced - also use non-top-level type variables when simplifying sizes in analysis (useful when it can from pattern matching on an ast) - cope with repeated int('n) in a pattern match (!) | |||
| 2019-06-17 | Add sail implementation of count_leading_zeros. We could use this for ↵ | Robert Norton | |
| backends where the builtin isn't supported but sail support for this is currently a bit broken (will use sail version when it shouldn't e.g. for smt). | |||
| 2019-06-17 | Implement a count_leading_zeros builtin for ocaml and c. This may be a ↵ | Robert Norton | |
| slight performance improvement and keeps compatibility with smt backend that already had a builtin for this because it can't handle the loop in the sail version. Will need implementations for prover backends. | |||
| 2019-06-13 | Coq: add eq_bit built-in | Brian Campbell | |
| 2019-06-12 | Fix Lem binding for abs_int | Thomas Bauereiss | |
| 2019-06-11 | Coq: add concatenation operator for polymorphic vectors | Brian Campbell | |
| 2019-06-06 | Coq: more aggressive rewriting before solving | Brian Campbell | |
| Solves some ARM model constraints much more quickly | |||
| 2019-06-06 | Coq: tweak bool to Z to use less memory | Brian Campbell | |
| 2019-06-06 | Fix tdiv_int and tmod_int bindings for Lem | Thomas Bauereiss | |
| Also rename them for uniformity with other backends. | |||
| 2019-06-06 | Add arith_shiftr to C and OCaml libraries | Thomas Bauereiss | |
| 2019-06-05 | Coq: exploit arithmetic solver for some mixed integer/bool problems. | Brian Campbell | |
| 2019-06-05 | Coq: generalize proof terms before main solver | Brian Campbell | |
| Ensures that dependencies in proofs don't affect rewriting. | |||
| 2019-06-04 | Coq: more constraint solving | Brian Campbell | |
| - make the exists, iff solver handle more cases - avoid exposing omega to goals with local definitions involving proofs | |||
| 2019-06-03 | Coq: experiment with another boolean iff solving method | Brian Campbell | |
| 2019-05-30 | Set interpreter builtin for truncateLSB. | Robert Norton | |
| 2019-05-29 | Coq: more solver improvements | Brian Campbell | |
| - don't clear boolean local definitions - we need those now - some boolean disjunction fixes | |||
| 2019-05-29 | Coq: need a proof for _shr32 | Brian Campbell | |
| 2019-05-28 | Coq: more constraint solving | Brian Campbell | |
| - add division lemma - deal with some awkward \/ constraints from asl_parser - try simple integer comparison proofs before omega (which can blow up on trivial properties in large contexts) | |||
| 2019-05-24 | Coq: switch to computable versions of BBV shifts | Brian Campbell | |
| 2019-05-23 | Coq: solve some division constraints | Brian Campbell | |
| 2019-05-23 | Coq: define the names from the Sail real library | Brian Campbell | |
| 2019-05-23 | Fix bug in slice_mask | Thomas Bauereiss | |
| 2019-05-22 | Coq: tweak disjunctions tactic with subst to support more constraints | Brian Campbell | |
| 2019-05-21 | Coq: remove premature unfolding of local definitions | Brian Campbell | |
| 2019-05-20 | Coq: fix property extraction bug, solve some constraints involving sets | Brian Campbell | |
| 2019-05-19 | Coq: add signed bitvector to integer function that doesn't need >0 constraint | Brian Campbell | |
| 2019-05-19 | Coq: proper definitions for some undefined value functions | Brian Campbell | |
| That is, undefined_bitvector, undefined_unit, internal_pick. | |||
| 2019-05-17 | SMT: Finish adding all memory builtins from lib/regfp.sail | Alasdair Armstrong | |
| 2019-05-15 | Coq: constraint solving for aarch64 | Brian Campbell | |
| Also split out main solver tactic to make debugging a little easier. | |||
| 2019-05-14 | Various bugfixes | Alasdair Armstrong | |
| Since we have __deref to desugar *x in this file (as it's the one file everything includes) we might as well add a __bitfield_deref here too, for the bitfield setters. Make sure undefined_nat can be used in C Both -memo_z3 and -no_memo_z3 were listed as default options, now only -no_memo_z3 is listed as the default. | |||
| 2019-05-14 | Merge branch 'smt_experiments' into sail2 | Alasdair Armstrong | |
| 2019-05-14 | Add feature that allows functions to require type variables are constant | Alasdair Armstrong | |
| can now write e.g. forall (constant 'n : Int) rather than forall ('n: Int) which requires 'n to be a constant integer value whenever the function is called. I added this to the 'addrsize variable on memory reads/writes to absolutely guarantee in the SMT generation that we don't have to worry about the address being a variable length bitvector. | |||
| 2019-05-13 | Merge branch 'sail2' into smt_experiments | Alasdair | |
