Commit Graph

7 Commits

Author SHA1 Message Date
youben11
52d5d908bb test(rust): complete tests of rust bindings
updated also the API to make it easier to use by:
- creating MLIR components from native rust types instead of require
  MLIR components in the API
- adding helpers around the creation of standard dialects
2022-11-17 09:54:51 +01:00
youben11
0a57af37af feat(rust): add API for FHEDialect's op creation 2022-11-17 09:54:51 +01:00
youben11
ff3f1afd59 refactor(rust): separate API into modules
- mlir module contains the MLIR API and generic helper functions
- fhe module contains helper functions for the FHE dialect
2022-11-17 09:54:51 +01:00
youben11
5e1a6f0069 feat(rust): complete FHE dialect API
helper functions to create all operations of the FHE dialect
2022-11-17 09:54:51 +01:00
youben11
472e762fbf feat(rust): enhance API to create func with FHE dialect 2022-11-09 12:53:25 +01:00
tmontaigu
6b0f6e9f10 feat(rust): print mlir string repr directly into a String
Instead of overriding the process stderr to get
the string representation from mlir we can can
directly capture in into a string using mlir's
printOperation.

Another problem with overriding stderr is that
each `#[test]` runs as a different thread meaning that
as soon as we have 2+ tests the tests could panic
due to conflicts/races between the different overrides.

This also moves the expected string directly into the test
as a literal.
2022-11-03 22:16:24 +01:00
youben11
0ac21fd037 feat: add rust bindings
The rust bindings are intented to access both LLVM/MLIR CAPI as well as
the concrete-compiler one. This initial commit provide the API for
LLVM/MLIR only. Tests should be used as an example to how to generate a
valid DAG of operations in MLIR.
2022-11-02 14:46:38 +01:00