feat(compiler): Add support for tiling of FHELinalg.apply_lookup_table

This commit is contained in:
Andi Drebes
2024-02-26 15:29:27 +01:00
parent 6a2db92f8f
commit 59ded11911
2 changed files with 9 additions and 2 deletions

View File

@@ -697,6 +697,9 @@ struct FHELinalgApplyLookupTableToLinalgGeneric
outs, maps, iteratorTypes, doc,
call, bodyBuilder);
if (lutOp->hasAttr("tile-sizes"))
genericOp->setAttr("tile-sizes", lutOp->getAttr("tile-sizes"));
rewriter.replaceOp(lutOp, {genericOp.getResult(0)});
return ::mlir::success();

View File

@@ -185,8 +185,12 @@ public:
mlir::ArrayAttr tileAttr =
mlir::Builder(&this->getContext()).getI64ArrayAttr(tileSizes);
op->walk([&](mlir::concretelang::FHELinalg::MatMulEintIntOp matmulOp) {
matmulOp.getOperation()->setAttr("tile-sizes", tileAttr);
op->walk([&](mlir::Operation *op) {
if (llvm::isa<mlir::concretelang::FHELinalg::ApplyLookupTableEintOp>(
op) ||
llvm::isa<mlir::concretelang::FHELinalg::MatMulEintIntOp>(op)) {
op->setAttr("tile-sizes", tileAttr);
}
});
}