feat(compiler/llvm-pipeline): Bufferize linalg and convert to loops

This commit is contained in:
Quentin Bourgerie
2021-08-25 14:10:18 +02:00
parent a654fb2d0e
commit de7129fe8e
2 changed files with 42 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
#include "mlir/Dialect/Tensor/Transforms/Passes.h"
#include <llvm/Support/TargetSelect.h>
#include <mlir/Dialect/Linalg/Passes.h>
#include <mlir/Dialect/StandardOps/Transforms/Passes.h>
#include <mlir/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.h>
#include <mlir/Target/LLVMIR/Export.h>
@@ -74,6 +75,10 @@ mlir::LogicalResult CompilerTools::lowerMlirStdsDialectToMlirLLVMDialect(
addFilteredPassToPassManager(pm, mlir::createStdBufferizePass(), enablePass);
addFilteredPassToPassManager(pm, mlir::createTensorBufferizePass(),
enablePass);
addFilteredPassToPassManager(pm, mlir::createLinalgBufferizePass(),
enablePass);
addFilteredPassToPassManager(pm, mlir::createConvertLinalgToLoopsPass(),
enablePass);
addFilteredPassToPassManager(pm, mlir::createFuncBufferizePass(), enablePass);
addFilteredPassToPassManager(pm, mlir::createFinalizingBufferizePass(),
enablePass);