mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-19 08:54:26 -05:00
This adds a new dialect called `Optimizer` with operations related to the Concrete Optimizer. Currently, there is only one operation `optimizer.partition_frontier` that can be inserted between a producer and a consumer which belong to different partitions computed by the optimizer. The purpose of this operation is to preserve explicit key changes from the invocation of the optimizer on high-level dialects (i.e., FHELinalg / FHE) until the IR is provided with actual references to keys in low-level dialects (i.e., TFHE).
19 lines
603 B
C++
19 lines
603 B
C++
// Part of the Concrete Compiler Project, under the BSD3 License with Zama
|
|
// Exceptions. See
|
|
// https://github.com/zama-ai/concrete-compiler-internal/blob/main/LICENSE.txt
|
|
// for license information.
|
|
|
|
#include "concretelang/Dialect/Optimizer/IR/OptimizerDialect.h"
|
|
#include "concretelang/Dialect/Optimizer/IR/OptimizerOps.h"
|
|
|
|
#include "concretelang/Dialect/Optimizer/IR/OptimizerOpsDialect.cpp.inc"
|
|
|
|
using namespace mlir::concretelang::Optimizer;
|
|
|
|
void OptimizerDialect::initialize() {
|
|
addOperations<
|
|
#define GET_OP_LIST
|
|
#include "concretelang/Dialect/Optimizer/IR/OptimizerOps.cpp.inc"
|
|
>();
|
|
}
|