diff --git a/compilers/concrete-compiler/compiler/lib/Conversion/SimulateTFHE/SimulateTFHE.cpp b/compilers/concrete-compiler/compiler/lib/Conversion/SimulateTFHE/SimulateTFHE.cpp index f39f36cb80..211f95c8b2 100644 --- a/compilers/concrete-compiler/compiler/lib/Conversion/SimulateTFHE/SimulateTFHE.cpp +++ b/compilers/concrete-compiler/compiler/lib/Conversion/SimulateTFHE/SimulateTFHE.cpp @@ -607,18 +607,20 @@ void SimulateTFHEPass::runOnOperation() { mlir::concretelang::TypeConvertingReinstantiationPattern< mlir::tensor::CollapseShapeOp>, mlir::concretelang::TypeConvertingReinstantiationPattern< - mlir::tensor::YieldOp>>(&getContext(), converter); + mlir::tensor::YieldOp>, + mlir::concretelang::TypeConvertingReinstantiationPattern< + mlir::tensor::EmptyOp>>(&getContext(), converter); // legalize ops only if operand and result types are legal target.addDynamicallyLegalOp< mlir::tensor::YieldOp, mlir::scf::YieldOp, mlir::tensor::GenerateOp, mlir::tensor::ExtractSliceOp, mlir::tensor::ExtractOp, mlir::tensor::InsertOp, mlir::tensor::InsertSliceOp, mlir::tensor::FromElementsOp, mlir::tensor::ExpandShapeOp, - mlir::tensor::CollapseShapeOp, mlir::bufferization::AllocTensorOp>( - [&](mlir::Operation *op) { - return converter.isLegal(op->getResultTypes()) && - converter.isLegal(op->getOperandTypes()); - }); + mlir::tensor::CollapseShapeOp, mlir::bufferization::AllocTensorOp, + mlir::tensor::EmptyOp>([&](mlir::Operation *op) { + return converter.isLegal(op->getResultTypes()) && + converter.isLegal(op->getOperandTypes()); + }); // Make sure that no ops `linalg.generic` that have illegal types target .addDynamicallyLegalOp<mlir::linalg::GenericOp, mlir::tensor::GenerateOp>(