Files
concrete/compiler/include/concretelang/Transforms/Passes.td
2023-01-02 12:04:34 +01:00

31 lines
1.1 KiB
TableGen

#ifndef CONCRETELANG_FHELINALG_TILING_PASS
#define CONCRETELANG_FHELINALG_TILING_PASS
include "mlir/Pass/PassBase.td"
def CollapseParallelLoops : Pass<"collapse-parallel-loops", "mlir::ModuleOp"> {
let summary =
"Coalesce nested scf.for operations that are marked with "
"the custom attribute parallel = true into a single scf.for "
"loop which can subsequently be converted to scf.parallel.";
let constructor = "mlir::concretelang::createCollapseParallelLoops()";
let dependentDialects = ["mlir::scf::SCFDialect"];
}
def ForLoopToParallel : Pass<"for-loop-to-parallel", "mlir::ModuleOp"> {
let summary =
"Transform scf.for marked with the custom attribute parallel = true loop "
"to scf.parallel after the bufferization";
let constructor = "mlir::concretelang::createForLoopToParallel()";
let dependentDialects = ["mlir::scf::SCFDialect"];
}
def Batching : Pass<"concrete", "mlir::ModuleOp"> {
let summary =
"Hoists operation for which a batched version exists out of loops applying "
"the operation to values stored in a tensor.";
let constructor = "mlir::concretelang::createBatchingPass()";
}
#endif