Files
concrete/compiler/lib/Support/CMakeLists.txt
Andi Drebes 1187cfbd62 refactor(compiler): Refactor CompilerEngine and related classes
This commit contains several incremental improvements towards a clear
interface for lambdas:

  - Unification of static and JIT compilation by using the static
    compilation path of `CompilerEngine` within a new subclass
    `JitCompilerEngine`.

  - Clear ownership for compilation artefacts through
    `CompilationContext`, making it impossible to destroy objects used
    directly or indirectly before destruction of their users.

  - Clear interface for lambdas generated by the compiler through
    `JitCompilerEngine::Lambda` with a templated call operator,
    encapsulating otherwise manual orchestration of `CompilerEngine`,
    `JITLambda`, and `CompilerEngine::Argument`.

  - Improved error handling through `llvm::Expected<T>` and proper
    error checking following the conventions for `llvm::Expected<T>`
    and `llvm::Error`.

Co-authored-by: youben11 <ayoub.benaissa@zama.ai>
2021-10-29 13:44:34 +02:00

33 lines
549 B
CMake

add_mlir_library(ZamalangSupport
Error.cpp
Pipeline.cpp
Jit.cpp
CompilerEngine.cpp
JitCompilerEngine.cpp
LambdaArgument.cpp
V0Parameters.cpp
V0Curves.cpp
ClientParameters.cpp
KeySet.cpp
logging.cpp
Jit.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/zamalang/Support
DEPENDS
MLIRConversionPassIncGen
LINK_LIBS PUBLIC
HLFHETensorOpsToLinalg
HLFHEToMidLFHE
LowLFHEUnparametrize
MLIRLowerableDialectsToLLVM
HLFHEDialectAnalysis
MLIRExecutionEngine
${LLVM_PTHREAD_LIB}
ZamalangRuntime
)