mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 12:15:09 -05:00
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`.
Building the compiler
Generate the compiler build system, in the build directory
cmake -B build . -DLLVM_DIR=$LLVM_PROJECT/build/lib/cmake/llvm -DMLIR_DIR=$LLVM_PROJECT/build/lib/cmake/mlir
Build the compiler
make -C build/ zamacompiler
Run the compiler
./build/src/zamacompiler