Andi Drebes
3bfda58eb8
feat(compiler): Make HLFHE.EncryptedInteger usable as memref element type
...
Make `HLFHE.EncryptedInteger` implement the
`MemRefElementTypeInterface` trait to allow the type to be used for
elements of memrefs.
The invocation of the `add_mlir_dialect` macro in
`include/zamalang/Dialect/HLFHE/IR/CMakeLists.txt` had to be broken
into its parts in order to pass `-typedefs-dialect=HLFHE` to
`mlir-tablegen`. This is required due to the inclusion of
`mlir/IR/BuiltinTypes.td` in
`include/zamalang/Dialect/HLFHE/IR/HLFHETypes.td`, resulting in
definitions from multiple dialects.
Add a small test actually using `HLFE.EncryptedInteger` in a `memref`.
2021-06-23 10:15:35 +02:00
Quentin Bourgerie
3aa5457b84
fix(compiler): Fixing some typos
2021-06-23 10:10:31 +02:00
Quentin Bourgerie
a760ade545
enhance(compiler): Better error message for glwe error
2021-06-23 10:10:31 +02:00
Quentin Bourgerie
c783d85a84
doc(compiler): comments on MidLFHE verifiers
2021-06-23 10:10:31 +02:00
Quentin Bourgerie
8f73863e00
fix(compiler): Fixing MidLFHE.h_add verifier and adding tests
2021-06-23 10:10:31 +02:00
Quentin Bourgerie
4e41969f3e
test(compiler): Add another test for mul_plain padding verification
2021-06-23 10:10:31 +02:00
Quentin Bourgerie
aafc9e44e9
fix(compiler): Fixing test ref
2021-06-23 10:10:31 +02:00
Quentin Bourgerie
bdcf7ece05
enhance(compiler): Add verifier of MidLFHE.GLWE parameters
2021-06-23 10:10:31 +02:00
Quentin Bourgerie
efedf23e8d
enhance(compiler): MidLFHE.add_plain introduce paddingBits verification
2021-06-23 10:10:31 +02:00
Quentin Bourgerie
38105b5f1c
enhance(compiler): MidLFHE has now only one GLWE type that take all cryptographic parameters
2021-06-23 10:10:31 +02:00
Andi Drebes
428ba24807
style(compiler): Use header guards conforming to style from .clang-tidy
2021-06-11 10:46:03 +02:00
Andi Drebes
5ef78f37f3
ci(compiler): Add clang-tidy configuration file
...
Add configuration file for `clang-tidy` with the same settings as
MLIR.
2021-06-08 14:26:42 +02:00
Andi Drebes
2c4748b414
refactor(compiler): Use LLVM command line parser instead of tclap
...
LLVM already provides a command line parser, covering the use of tclap
in the sources. This patch uses the LLVM command line parser instead
of tclap and thus reduces the number of external dependencies.
2021-06-08 14:05:15 +02:00
Ayoub Benaissa
eef82a4713
style(compiler): c++ formatting with github action ( #22 )
...
* style(compiler): c++ formatting with github action
* style(compiler): update format script
2021-06-04 09:18:14 +02:00
Andi Drebes
5164126447
style: Add .clang-format
2021-06-04 09:18:14 +02:00
youben11
4e663df5af
enhance(compiler): Add a region to the HLFHE.apply_univariate for the expression of the univariate closure
2021-05-28 12:08:42 +02:00
Quentin Bourgerie
f0615da12a
fix(compiler): segfault on parse error
2021-05-28 12:08:42 +02:00
youben11
efae2a79d7
feat(compiler): h_add and h_mul
2021-05-28 12:08:42 +02:00
youben11
8edf4a358e
feat(compiler): keyswitching types and ops
2021-05-28 12:08:42 +02:00
youben11
7104e2600c
feat(compiler): parameterize pbs ops via attr
2021-05-28 12:08:42 +02:00
youben11
55043c24f1
feat(compiler): introduce mul_plain
2021-05-28 12:08:41 +02:00
Quentin Bourgerie
ccae801e5a
feat(compiler): Introduce MidLFHE.add_plain and MidLFHE.pbs
2021-05-28 12:08:41 +02:00
Quentin Bourgerie
f9c135dfa7
chore: .gitignore
2021-05-28 12:08:41 +02:00
Quentin Bourgerie
0b41018ade
feat(compiler): Add !HLFHE.ciphertext
2021-05-28 12:08:41 +02:00
Quentin Bourgerie
ce69aab756
feat(compiler): Add !MidLFHE.ggsw<size,N,level,base_log>
2021-05-28 12:08:41 +02:00
Quentin Bourgerie
122759eabf
feat(compiler): Introduce MidLFHEDialect (!MidLFHE.lwe<size>, !MidLFHE.glwe<size,n>)
2021-05-28 12:08:41 +02:00
Quentin Bourgerie
d4b7d61f99
chore(compiler): Add configuration of test and introduce command line options
2021-05-28 12:08:41 +02:00
youben11
0b86ed0c2c
test(compiler): testing dialect's ops
2021-05-28 12:08:41 +02:00
Andi Drebes
788adcbbae
feat(compiler): Let zamacompiler parse an MLIR source file and dump the in-memory representation
2021-05-28 12:02:18 +02:00
Quentin Bourgerie
32340d3ec0
feat(compiler): Introduce HLFHEDialect
2021-05-28 12:02:18 +02:00
Quentin Bourgerie
f7c11a0c4e
chore(compiler): Empty MLIR structure
2021-05-18 10:57:48 +02:00