mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 03:55:04 -05:00
enhance(compiler): Enable deallocation pass to free temporary buffers
This commit is contained in:
@@ -12,7 +12,9 @@ include "concretelang/Dialect/RT/IR/RTTypes.td"
|
||||
class RT_Op<string mnemonic, list<OpTrait> traits = []> :
|
||||
Op<RT_Dialect, mnemonic, traits>;
|
||||
|
||||
def DataflowTaskOp : RT_Op<"dataflow_task", [SingleBlockImplicitTerminator<"DataflowYieldOp">]> {
|
||||
def DataflowTaskOp : RT_Op<"dataflow_task", [
|
||||
DeclareOpInterfaceMethods<RegionBranchOpInterface>,
|
||||
SingleBlockImplicitTerminator<"DataflowYieldOp">]> {
|
||||
let arguments = (ins Variadic<AnyType>: $inputs);
|
||||
let results = (outs Variadic<AnyType>:$outputs);
|
||||
|
||||
|
||||
@@ -29,3 +29,9 @@ void DataflowTaskOp::build(
|
||||
reg->push_back(body);
|
||||
result.addTypes(resultTypes);
|
||||
}
|
||||
|
||||
void DataflowTaskOp::getSuccessorRegions(
|
||||
Optional<unsigned> index, ArrayRef<Attribute> operands,
|
||||
SmallVectorImpl<RegionSuccessor> ®ions) {
|
||||
regions.push_back(RegionSuccessor(&body()));
|
||||
}
|
||||
|
||||
@@ -237,6 +237,9 @@ lowerStdToLLVMDialect(mlir::MLIRContext &context, mlir::ModuleOp &module,
|
||||
addPotentiallyNestedPass(
|
||||
pm, mlir::concretelang::createFinalizingBufferizePass(), enablePass);
|
||||
|
||||
addPotentiallyNestedPass(pm, mlir::createBufferDeallocationPass(),
|
||||
enablePass);
|
||||
|
||||
if (parallelizeLoops)
|
||||
addPotentiallyNestedPass(pm, mlir::createConvertSCFToOpenMPPass(),
|
||||
enablePass);
|
||||
|
||||
Reference in New Issue
Block a user