My Project
Passes.h
Go to the documentation of this file.
1 //===- Passes.h - Linalg pass entry points ----------------------*- C++ -*-===//
2 //
3 // Part of the MLIR Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This header file defines prototypes that expose pass constructors.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef MLIR_DIALECT_LINALG_PASSES_H_
14 #define MLIR_DIALECT_LINALG_PASSES_H_
15 
16 #include "mlir/Support/LLVM.h"
17 #include "llvm/ADT/ArrayRef.h"
18 
19 namespace mlir {
20 class FuncOp;
21 class ModuleOp;
22 template <typename T> class OpPassBase;
23 
24 namespace linalg {
25 std::unique_ptr<OpPassBase<FuncOp>> createLinalgFusionPass();
26 
27 std::unique_ptr<OpPassBase<FuncOp>>
28 createLinalgTilingPass(ArrayRef<int64_t> tileSizes = {});
29 
30 std::unique_ptr<OpPassBase<FuncOp>>
31 createLinalgPromotionPass(bool dynamicBuffers);
32 
35 std::unique_ptr<OpPassBase<FuncOp>> createConvertLinalgToLoopsPass();
36 
40 std::unique_ptr<OpPassBase<FuncOp>> createConvertLinalgToAffineLoopsPass();
41 
43 std::unique_ptr<OpPassBase<ModuleOp>> createConvertLinalgToLLVMPass();
44 
45 } // namespace linalg
46 } // namespace mlir
47 
48 #endif // MLIR_DIALECT_LINALG_PASSES_H_
Definition: InferTypeOpInterface.cpp:20
std::unique_ptr< OpPassBase< FuncOp > > createConvertLinalgToLoopsPass()
Definition: LinalgToLoops.cpp:544
std::unique_ptr< OpPassBase< FuncOp > > createLinalgFusionPass()
Definition: Fusion.cpp:341
std::unique_ptr< OpPassBase< FuncOp > > createLinalgPromotionPass(bool dynamicBuffers)
Definition: Promotion.cpp:236
std::unique_ptr< OpPassBase< FuncOp > > createLinalgTilingPass(ArrayRef< int64_t > tileSizes={})
Definition: Tiling.cpp:452
std::unique_ptr< OpPassBase< FuncOp > > createConvertLinalgToAffineLoopsPass()
Definition: LinalgToLoops.cpp:553
std::unique_ptr< OpPassBase< ModuleOp > > createConvertLinalgToLLVMPass()
Create a pass to convert Linalg operations to the LLVMIR dialect.
Definition: LinalgToLLVM.cpp:592