xref: /llvm-project/mlir/include/mlir/Dialect/Vector/Transforms/Passes.h (revision debdbeda15802900615d1bee83e4fc519abeaba6)
1 //===- Passes.h - Pass Entrypoints ------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM 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 #ifndef MLIR_DIALECT_VECTOR_TRANSFORMS_PASSES_H_
10 #define MLIR_DIALECT_VECTOR_TRANSFORMS_PASSES_H_
11 
12 #include "mlir/Dialect/Vector/Transforms/VectorTransforms.h"
13 #include "mlir/Pass/Pass.h"
14 
15 namespace mlir {
16 namespace vector {
17 #define GEN_PASS_DECL
18 #include "mlir/Dialect/Vector/Transforms/Passes.h.inc"
19 
20 /// Creates an instance of the `vector.mask` lowering pass.
21 std::unique_ptr<Pass> createLowerVectorMaskPass();
22 
23 /// Creates an instance of the `vector.multi_reduction` lowering pass.
24 std::unique_ptr<Pass> createLowerVectorMultiReductionPass(
25     VectorMultiReductionLowering option =
26         VectorMultiReductionLowering::InnerParallel);
27 
28 //===----------------------------------------------------------------------===//
29 // Registration
30 //===----------------------------------------------------------------------===//
31 
32 /// Generate the code for registering passes.
33 #define GEN_PASS_REGISTRATION
34 #include "mlir/Dialect/Vector/Transforms/Passes.h.inc"
35 } // namespace vector
36 } // namespace mlir
37 
38 #endif // MLIR_DIALECT_VECTOR_TRANSFORMS_PASSES_H_
39