xref: /llvm-project/mlir/lib/Dialect/MPI/IR/MPI.cpp (revision b334664f9f3a098b6f3fd9cfd17b856a9edfe446)
1 //===- MPI.cpp - MPI dialect implementation -------------------------------===//
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 #include "mlir/Dialect/MPI/IR/MPI.h"
10 #include "mlir/IR/Builders.h"
11 #include "mlir/IR/BuiltinAttributes.h"
12 #include "mlir/IR/DialectImplementation.h"
13 #include "llvm/ADT/TypeSwitch.h"
14 
15 using namespace mlir;
16 using namespace mlir::mpi;
17 
18 //===----------------------------------------------------------------------===//
19 /// Tablegen Definitions
20 //===----------------------------------------------------------------------===//
21 
22 #include "mlir/Dialect/MPI/IR/MPI.cpp.inc"
23 
24 #include "mlir/Dialect/MPI/IR/MPIDialect.cpp.inc"
25 
initialize()26 void MPIDialect::initialize() {
27   addOperations<
28 #define GET_OP_LIST
29 #include "mlir/Dialect/MPI/IR/MPIOps.cpp.inc"
30       >();
31 
32   addTypes<
33 #define GET_TYPEDEF_LIST
34 #include "mlir/Dialect/MPI/IR/MPITypesGen.cpp.inc"
35       >();
36 
37   addAttributes<
38 #define GET_ATTRDEF_LIST
39 #include "mlir/Dialect/MPI/IR/MPIAttrDefs.cpp.inc"
40       >();
41 }
42 
43 //===----------------------------------------------------------------------===//
44 // TableGen'd dialect, type, and op definitions
45 //===----------------------------------------------------------------------===//
46 
47 #define GET_TYPEDEF_CLASSES
48 #include "mlir/Dialect/MPI/IR/MPITypesGen.cpp.inc"
49 
50 #include "mlir/Dialect/MPI/IR/MPIEnums.cpp.inc"
51 
52 #define GET_ATTRDEF_CLASSES
53 #include "mlir/Dialect/MPI/IR/MPIAttrDefs.cpp.inc"
54