Commit Graph

147 Commits

Author SHA1 Message Date
Alex Ozdemir
03a1fd9510 more ahash 2021-04-14 10:32:57 -07:00
Alex Ozdemir
c24e543507 Update all hash sets 2021-04-04 19:46:51 -07:00
Alex Ozdemir
38b6593cb9 Opts 2021-03-15 02:01:50 -07:00
Alex Ozdemir
6ce38360ef Better letifier.
It only letifies nodes with multiple parents.
2021-03-07 15:58:36 -08:00
Alex Ozdemir
3eda1991c0 Basic bellman backend 2021-02-28 15:57:32 -08:00
Alex Ozdemir
c56c78313e Add Circify::assign 2021-02-27 14:54:19 -08:00
Alex Ozdemir
fcfe7e84f0 Misc ZoKrates opts
* SHA CH function
* better Uext conversion
* better (more propagate-able) small XORs
2021-02-27 09:20:40 -08:00
Alex Ozdemir
ed3da1061d Eliminate dead 1 in mult 2021-02-26 23:43:40 -08:00
Alex Ozdemir
f564cf0dfa Zokrate & perf improvements 2021-02-26 20:26:50 -08:00
Alex Ozdemir
b757b5c14c Tune optimizer 2021-02-24 14:04:33 -08:00
Alex Ozdemir
366fd9099f better inlining algorithm 2021-02-22 17:55:04 -08:00
Alex Ozdemir
23fd01f823 eq elim ckpt 2021-02-22 16:37:42 -08:00
Alex Ozdemir
984b4e915e ZoKrates: generalize builtins 2021-02-20 13:08:06 -08:00
Alex Ozdemir
8c5dfdcbbd Zokrates gen, draft 1 complete. Not really tested 2021-02-20 12:38:14 -08:00
Alex Ozdemir
3b155a7aab start interpreting ZoKrates 2021-02-19 00:56:46 -08:00
Alex Ozdemir
2a46dde869 Zokrates term finish 2021-02-17 23:12:37 -08:00
Alex Ozdemir
8157d40a00 fix test build 2021-02-17 15:31:49 -08:00
Alex Ozdemir
75b825f677 Zokrates term ckpt 2 2021-02-17 11:55:10 -08:00
Alex Ozdemir
bb16ac4e72 Zokrates term ckpt 2021-02-17 00:51:24 -08:00
Alex Ozdemir
1d020d21d6 Allow field-indexed arrays.
Also boolean indexed arrays, if that makes any sense...
2021-02-16 23:58:25 -08:00
Alex Ozdemir
3132977a23 fmt 2021-02-16 12:27:18 -08:00
Alex Ozdemir
6de075aef5 pf2bv 2021-02-16 12:26:13 -08:00
Alex Ozdemir
10ef9a4f10 R1cs optimization 2021-02-16 11:28:25 -08:00
Alex Ozdemir
1f11b95f01 First cut at circify 2021-02-14 15:16:42 -08:00
Alex Ozdemir
d2d3fe0c5b mem test 2021-02-13 15:20:21 -08:00
Alex Ozdemir
899c591277 bool->SMT, with qc tests 2021-02-13 12:13:38 -08:00
Alex Ozdemir
28c4623b87 fix check() changes in tests 2021-02-13 01:04:49 -08:00
Alex Ozdemir
cb8874ac95 Memory ckpt 2021-02-12 18:54:21 -08:00
Alex Ozdemir
84816be9d1 Oblivious array elim 2021-02-12 00:53:44 -08:00
Alex Ozdemir
5613c2930c mem visitor & linear mem pass 2021-02-11 20:07:29 -08:00
Alex Ozdemir
7abb0587bb SHA CH optimization 2021-02-11 00:01:41 -08:00
Alex Ozdemir
4fb604e0d1 trim some dead constants 2021-02-09 20:11:07 -08:00
Alex Ozdemir
1b84831ae7 cfold for BVs, everything for field elems 2021-02-09 17:02:43 -08:00
Alex Ozdemir
6d6e0a10fb constant folding for booleans 2021-02-08 20:28:22 -08:00
Alex Ozdemir
2667785def Include a semantic test for n-ary optimization 2021-02-08 19:37:26 -08:00
Alex Ozdemir
66fbf2e972 n-ary flattening
with fuzz tests.
2021-02-08 17:54:31 -08:00
Alex Ozdemir
e473dfad1f div, shift tests 2021-02-07 00:15:33 -08:00
Alex Ozdemir
ec9f1c464a Reasonably complete BV->R1CS 2021-02-06 22:48:01 -08:00
Alex Ozdemir
224b056ef4 Bv eval/R1CS ckpt 2021-02-06 01:29:57 -08:00
Alex Ozdemir
9e8a21efd1 debitify 2021-02-05 09:59:14 -08:00
Alex Ozdemir
0e6e987a15 Some docs 2021-02-05 09:51:15 -08:00
Alex Ozdemir
ff0ae80a78 booleans in IR->R1cs 2021-02-05 09:40:27 -08:00
Alex Ozdemir
711f97503a Started IR->R1cs 2021-02-04 02:04:57 -08:00
Alex Ozdemir
fe7280b10e R1cs 2021-02-03 01:48:02 -08:00
Alex Ozdemir
343ea2fa63 Random boolean term generation.
May be useful for benchmarking
2021-02-02 13:33:48 -08:00
Alex Ozdemir
e145a1bbe1 Finish type-checking 2021-02-02 12:13:25 -08:00
Alex Ozdemir
e9e12a32e4 Start type-checking 2021-02-02 01:25:46 -08:00