lambdaclass / concrete

Concrete is a simple programming language specifically crafted for creating highly scalable systems that are reliable, efficient, and easy to maintain.
Apache License 2.0
123 stars 11 forks source link

[Codegen] Implement Structs and PathOp #71

Open edg-l opened 8 months ago

edg-l commented 8 months ago

Structs need to be implemented.

Implementing structs also requires to properly implement PathOp, which is the operation used to access a field of a struct.

https://github.com/lambdaclass/concrete/blob/771662e8343e246cfee4bcbd935fd1374d90c324/crates/concrete_codegen_mlir/src/codegen.rs#L110

https://github.com/lambdaclass/concrete/blob/771662e8343e246cfee4bcbd935fd1374d90c324/crates/concrete_codegen_mlir/src/codegen.rs#L508

https://github.com/lambdaclass/concrete/blob/771662e8343e246cfee4bcbd935fd1374d90c324/crates/concrete_codegen_mlir/src/codegen.rs#L269