MLIR
16.0.0git
include
mlir
InitAllDialects.h
Go to the documentation of this file.
1
//===- InitAllDialects.h - MLIR Dialects Registration -----------*- 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
// This file defines a helper to trigger the registration of all dialects and
10
// passes to the system.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef MLIR_INITALLDIALECTS_H_
15
#define MLIR_INITALLDIALECTS_H_
16
17
#include "
mlir/Dialect/AMDGPU/AMDGPUDialect.h
"
18
#include "
mlir/Dialect/AMX/AMXDialect.h
"
19
#include "
mlir/Dialect/Affine/IR/AffineOps.h
"
20
#include "
mlir/Dialect/Arithmetic/IR/Arithmetic.h
"
21
#include "
mlir/Dialect/Arithmetic/Transforms/BufferizableOpInterfaceImpl.h
"
22
#include "
mlir/Dialect/ArmNeon/ArmNeonDialect.h
"
23
#include "
mlir/Dialect/ArmSVE/ArmSVEDialect.h
"
24
#include "
mlir/Dialect/Async/IR/Async.h
"
25
#include "
mlir/Dialect/Bufferization/IR/Bufferization.h
"
26
#include "
mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.h
"
27
#include "
mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h
"
28
#include "
mlir/Dialect/Complex/IR/Complex.h
"
29
#include "
mlir/Dialect/ControlFlow/IR/ControlFlow.h
"
30
#include "
mlir/Dialect/DLTI/DLTI.h
"
31
#include "
mlir/Dialect/EmitC/IR/EmitC.h
"
32
#include "
mlir/Dialect/Func/IR/FuncOps.h
"
33
#include "
mlir/Dialect/GPU/IR/GPUDialect.h
"
34
#include "
mlir/Dialect/LLVMIR/LLVMDialect.h
"
35
#include "
mlir/Dialect/LLVMIR/NVVMDialect.h
"
36
#include "
mlir/Dialect/LLVMIR/ROCDLDialect.h
"
37
#include "
mlir/Dialect/Linalg/IR/Linalg.h
"
38
#include "
mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
"
39
#include "
mlir/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.h
"
40
#include "
mlir/Dialect/Linalg/Transforms/TilingInterfaceImpl.h
"
41
#include "
mlir/Dialect/MLProgram/IR/MLProgram.h
"
42
#include "
mlir/Dialect/Math/IR/Math.h
"
43
#include "
mlir/Dialect/MemRef/IR/MemRef.h
"
44
#include "
mlir/Dialect/NVGPU/IR/NVGPUDialect.h
"
45
#include "
mlir/Dialect/OpenACC/OpenACC.h
"
46
#include "
mlir/Dialect/OpenMP/OpenMPDialect.h
"
47
#include "
mlir/Dialect/PDL/IR/PDL.h
"
48
#include "
mlir/Dialect/PDLInterp/IR/PDLInterp.h
"
49
#include "
mlir/Dialect/Quant/QuantOps.h
"
50
#include "
mlir/Dialect/SCF/IR/SCF.h
"
51
#include "
mlir/Dialect/SCF/TransformOps/SCFTransformOps.h
"
52
#include "
mlir/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.h
"
53
#include "
mlir/Dialect/SPIRV/IR/SPIRVDialect.h
"
54
#include "
mlir/Dialect/Shape/IR/Shape.h
"
55
#include "
mlir/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.h
"
56
#include "
mlir/Dialect/SparseTensor/IR/SparseTensor.h
"
57
#include "
mlir/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.h
"
58
#include "
mlir/Dialect/Tensor/IR/Tensor.h
"
59
#include "
mlir/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.h
"
60
#include "
mlir/Dialect/Tensor/IR/TensorTilingInterfaceImpl.h
"
61
#include "
mlir/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.h
"
62
#include "
mlir/Dialect/Tosa/IR/TosaOps.h
"
63
#include "
mlir/Dialect/Transform/IR/TransformDialect.h
"
64
#include "
mlir/Dialect/Vector/IR/VectorOps.h
"
65
#include "
mlir/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.h
"
66
#include "
mlir/Dialect/X86Vector/X86VectorDialect.h
"
67
#include "
mlir/IR/Dialect.h
"
68
69
namespace
mlir
{
70
71
/// Add all the MLIR dialects to the provided registry.
72
inline
void
registerAllDialects
(
DialectRegistry
®istry) {
73
// clang-format off
74
registry.
insert
<acc::OpenACCDialect,
75
AffineDialect,
76
arith::ArithmeticDialect,
77
amdgpu::AMDGPUDialect,
78
amx::AMXDialect,
79
arm_neon::ArmNeonDialect,
80
async::AsyncDialect,
81
bufferization::BufferizationDialect,
82
cf::ControlFlowDialect,
83
complex::ComplexDialect,
84
DLTIDialect,
85
emitc::EmitCDialect,
86
func::FuncDialect,
87
gpu::GPUDialect,
88
LLVM::LLVMDialect,
89
linalg::LinalgDialect,
90
math::MathDialect,
91
memref::MemRefDialect,
92
ml_program::MLProgramDialect,
93
nvgpu::NVGPUDialect,
94
scf::SCFDialect,
95
omp::OpenMPDialect,
96
pdl::PDLDialect,
97
pdl_interp::PDLInterpDialect,
98
quant::QuantizationDialect,
99
spirv::SPIRVDialect,
100
arm_sve::ArmSVEDialect,
101
vector::VectorDialect,
102
NVVM::NVVMDialect,
103
ROCDL::ROCDLDialect,
104
shape::ShapeDialect,
105
sparse_tensor::SparseTensorDialect,
106
tensor::TensorDialect,
107
transform::TransformDialect,
108
tosa::TosaDialect,
109
x86vector::X86VectorDialect>();
110
// clang-format on
111
112
// Register all dialect extensions.
113
bufferization::registerTransformDialectExtension
(registry);
114
linalg::registerTransformDialectExtension
(registry);
115
scf::registerTransformDialectExtension
(registry);
116
117
// Register all external models.
118
arith::registerBufferizableOpInterfaceExternalModels
(registry);
119
bufferization::func_ext::registerBufferizableOpInterfaceExternalModels
(
120
registry);
121
linalg::registerBufferizableOpInterfaceExternalModels
(registry);
122
linalg::registerTilingInterfaceExternalModels
(registry);
123
scf::registerBufferizableOpInterfaceExternalModels
(registry);
124
shape::registerBufferizableOpInterfaceExternalModels
(registry);
125
sparse_tensor::registerBufferizableOpInterfaceExternalModels
(registry);
126
tensor::registerBufferizableOpInterfaceExternalModels
(registry);
127
tensor::registerInferTypeOpInterfaceExternalModels
(registry);
128
tensor::registerTilingOpInterfaceExternalModels
(registry);
129
vector::registerBufferizableOpInterfaceExternalModels
(registry);
130
}
131
132
/// Append all the MLIR dialects to the registry contained in the given context.
133
inline
void
registerAllDialects
(
MLIRContext
&context) {
134
DialectRegistry
registry;
135
registerAllDialects
(registry);
136
context.
appendDialectRegistry
(registry);
137
}
138
139
}
// namespace mlir
140
141
#endif // MLIR_INITALLDIALECTS_H_
AMXDialect.h
mlir
Include the generated interface declarations.
Definition:
LocalAliasAnalysis.h:20
TensorTilingInterfaceImpl.h
Linalg.h
PDLInterp.h
BufferizableOpInterfaceImpl.h
BufferizableOpInterfaceImpl.h
FuncOps.h
Math.h
Shape.h
OpenACC.h
mlir::linalg::registerTilingInterfaceExternalModels
void registerTilingInterfaceExternalModels(DialectRegistry ®istry)
Definition:
TilingInterfaceImpl.cpp:271
TilingInterfaceImpl.h
BufferizableOpInterfaceImpl.h
mlir::MLIRContext::appendDialectRegistry
void appendDialectRegistry(const DialectRegistry ®istry)
Append the contents of the given dialect registry to the registry associated with this context...
Definition:
MLIRContext.cpp:357
mlir::tensor::registerTilingOpInterfaceExternalModels
void registerTilingOpInterfaceExternalModels(mlir::DialectRegistry ®istry)
Registers external models for Tiling interface for tensor ops.
Definition:
TensorTilingInterfaceImpl.cpp:284
mlir::arith::registerBufferizableOpInterfaceExternalModels
void registerBufferizableOpInterfaceExternalModels(DialectRegistry ®istry)
Definition:
BufferizableOpInterfaceImpl.cpp:194
TensorInferTypeOpInterfaceImpl.h
Tensor.h
SparseTensor.h
mlir::sparse_tensor::registerBufferizableOpInterfaceExternalModels
void registerBufferizableOpInterfaceExternalModels(DialectRegistry ®istry)
Definition:
BufferizableOpInterfaceImpl.cpp:101
PDL.h
BufferizableOpInterfaceImpl.h
SCFTransformOps.h
ArmSVEDialect.h
Arithmetic.h
ROCDLDialect.h
MLProgram.h
BufferizableOpInterfaceImpl.h
BufferizableOpInterfaceImpl.h
mlir::bufferization::func_ext::registerBufferizableOpInterfaceExternalModels
void registerBufferizableOpInterfaceExternalModels(DialectRegistry ®istry)
Definition:
FuncBufferizableOpInterfaceImpl.cpp:518
BufferizationTransformOps.h
ArmNeonDialect.h
Async.h
mlir::tensor::registerInferTypeOpInterfaceExternalModels
void registerInferTypeOpInterfaceExternalModels(mlir::DialectRegistry ®istry)
Registers external models for Infer Type interfaces for tensor ops.
Definition:
TensorInferTypeOpInterfaceImpl.cpp:206
NVGPUDialect.h
AMDGPUDialect.h
LLVMDialect.h
SPIRVDialect.h
mlir::linalg::registerBufferizableOpInterfaceExternalModels
void registerBufferizableOpInterfaceExternalModels(DialectRegistry ®istry)
Definition:
BufferizableOpInterfaceImpl.cpp:145
mlir::linalg::registerTransformDialectExtension
void registerTransformDialectExtension(DialectRegistry ®istry)
Definition:
LinalgTransformOps.cpp:1119
MemRef.h
BufferizableOpInterfaceImpl.h
mlir::scf::registerBufferizableOpInterfaceExternalModels
void registerBufferizableOpInterfaceExternalModels(DialectRegistry ®istry)
Definition:
BufferizableOpInterfaceImpl.cpp:1009
TosaOps.h
X86VectorDialect.h
DLTI.h
QuantOps.h
EmitC.h
SCF.h
Dialect.h
mlir::bufferization::registerTransformDialectExtension
void registerTransformDialectExtension(DialectRegistry ®istry)
Definition:
BufferizationTransformOps.cpp:97
mlir::vector::registerBufferizableOpInterfaceExternalModels
void registerBufferizableOpInterfaceExternalModels(DialectRegistry ®istry)
Definition:
BufferizableOpInterfaceImpl.cpp:160
ControlFlow.h
LinalgTransformOps.h
mlir::tensor::registerBufferizableOpInterfaceExternalModels
void registerBufferizableOpInterfaceExternalModels(DialectRegistry ®istry)
Definition:
BufferizableOpInterfaceImpl.cpp:972
NVVMDialect.h
mlir::DialectRegistry
The DialectRegistry maps a dialect namespace to a constructor for the matching dialect.
Definition:
DialectRegistry.h:107
mlir::shape::registerBufferizableOpInterfaceExternalModels
void registerBufferizableOpInterfaceExternalModels(DialectRegistry ®istry)
Definition:
BufferizableOpInterfaceImpl.cpp:153
mlir::MLIRContext
MLIRContext is the top-level object for a collection of MLIR operations.
Definition:
MLIRContext.h:55
AffineOps.h
FuncBufferizableOpInterfaceImpl.h
OpenMPDialect.h
TransformDialect.h
Complex.h
mlir::registerAllDialects
void registerAllDialects(DialectRegistry ®istry)
Add all the MLIR dialects to the provided registry.
Definition:
InitAllDialects.h:72
Bufferization.h
mlir::DialectRegistry::insert
void insert()
Definition:
DialectRegistry.h:115
VectorOps.h
mlir::scf::registerTransformDialectExtension
void registerTransformDialectExtension(DialectRegistry ®istry)
Definition:
SCFTransformOps.cpp:256
GPUDialect.h
Generated on Mon Aug 15 2022 12:35:44 for MLIR by
1.8.13