MLIR-AIE
Passes.h
Go to the documentation of this file.
1//===- Passes.h - AIE Vector Passes -----------------------------*- C++ -*-===//
2//
3// This file is licensed 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// (c) Copyright 2022 Xilinx Inc.
8// (c) Copyright 2023 Advanced Micro Devices, Inc.
9//
10//===----------------------------------------------------------------------===//
11// Register all the AIE vectorization passes
12//===----------------------------------------------------------------------===//
13
14#ifndef AIE_DIALECT_AIEVEC_TRANSFORMS_PASSES_H
15#define AIE_DIALECT_AIEVEC_TRANSFORMS_PASSES_H
16
19
20#include "mlir/Pass/Pass.h"
21#include "mlir/Pass/PassOptions.h"
22
23namespace mlir {
24
25namespace affine {
26class AffineDialect;
27}
28
29namespace func {
30class FuncDialect;
31} // end namespace func
32
33namespace arith {
34class ArithDialect;
35} // end namespace arith
36
37namespace memref {
38class MemRefDialect;
39} // end namespace memref
40
41namespace scf {
42class SCFDialect;
43} // end namespace scf
44
45namespace vector {
46class VectorDialect;
47} // end namespace vector
48
49} // end namespace mlir
50
51//===----------------------------------------------------------------------===//
52// Registration
53//===----------------------------------------------------------------------===//
54
55namespace mlir {
56namespace func {
57class FuncOp;
58} // namespace func
59} // namespace mlir
60
61namespace xilinx {
62namespace aievec {
63
64#define GEN_PASS_DECL
65#define GEN_PASS_CLASSES
66#include "aie/Dialect/AIEVec/Transforms/Passes.h.inc"
67
68std::unique_ptr<mlir::Pass> createAIEVectorizePass();
69
70/// Generate the code for registering passes.
71#define GEN_PASS_REGISTRATION
72#include "aie/Dialect/AIEVec/Transforms/Passes.h.inc"
73
74} // end namespace aievec
75} // end namespace xilinx
76
77#endif // AIE_DIALECT_AIEVEC_TRANSFORMS_PASSES_H
std::unique_ptr< mlir::Pass > createAIEVectorizePass()