| //===- InitAllDialects.h - MLIR Dialects Registration -----------*- C++ -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file defines a helper to trigger the registration of all dialects and |
| // passes to the system. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef MLIR_INITALLDIALECTS_H_ |
| #define MLIR_INITALLDIALECTS_H_ |
| |
| #include "mlir/Dialect/AMX/AMXDialect.h" |
| #include "mlir/Dialect/Affine/IR/AffineOps.h" |
| #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h" |
| #include "mlir/Dialect/ArmNeon/ArmNeonDialect.h" |
| #include "mlir/Dialect/ArmSVE/ArmSVEDialect.h" |
| #include "mlir/Dialect/Async/IR/Async.h" |
| #include "mlir/Dialect/Bufferization/IR/Bufferization.h" |
| #include "mlir/Dialect/Complex/IR/Complex.h" |
| #include "mlir/Dialect/DLTI/DLTI.h" |
| #include "mlir/Dialect/EmitC/IR/EmitC.h" |
| #include "mlir/Dialect/GPU/GPUDialect.h" |
| #include "mlir/Dialect/LLVMIR/LLVMDialect.h" |
| #include "mlir/Dialect/LLVMIR/NVVMDialect.h" |
| #include "mlir/Dialect/LLVMIR/ROCDLDialect.h" |
| #include "mlir/Dialect/Linalg/IR/LinalgOps.h" |
| #include "mlir/Dialect/Math/IR/Math.h" |
| #include "mlir/Dialect/MemRef/IR/MemRef.h" |
| #include "mlir/Dialect/OpenACC/OpenACC.h" |
| #include "mlir/Dialect/OpenMP/OpenMPDialect.h" |
| #include "mlir/Dialect/PDL/IR/PDL.h" |
| #include "mlir/Dialect/PDLInterp/IR/PDLInterp.h" |
| #include "mlir/Dialect/Quant/QuantOps.h" |
| #include "mlir/Dialect/SCF/SCF.h" |
| #include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h" |
| #include "mlir/Dialect/Shape/IR/Shape.h" |
| #include "mlir/Dialect/SparseTensor/IR/SparseTensor.h" |
| #include "mlir/Dialect/StandardOps/IR/Ops.h" |
| #include "mlir/Dialect/Tensor/IR/Tensor.h" |
| #include "mlir/Dialect/Tosa/IR/TosaOps.h" |
| #include "mlir/Dialect/Vector/VectorOps.h" |
| #include "mlir/Dialect/X86Vector/X86VectorDialect.h" |
| #include "mlir/IR/Dialect.h" |
| |
| namespace mlir { |
| |
| /// Add all the MLIR dialects to the provided registry. |
| inline void registerAllDialects(DialectRegistry ®istry) { |
| // clang-format off |
| registry.insert<acc::OpenACCDialect, |
| AffineDialect, |
| arith::ArithmeticDialect, |
| amx::AMXDialect, |
| arm_neon::ArmNeonDialect, |
| async::AsyncDialect, |
| bufferization::BufferizationDialect, |
| complex::ComplexDialect, |
| DLTIDialect, |
| emitc::EmitCDialect, |
| gpu::GPUDialect, |
| LLVM::LLVMDialect, |
| linalg::LinalgDialect, |
| math::MathDialect, |
| memref::MemRefDialect, |
| scf::SCFDialect, |
| omp::OpenMPDialect, |
| pdl::PDLDialect, |
| pdl_interp::PDLInterpDialect, |
| quant::QuantizationDialect, |
| spirv::SPIRVDialect, |
| StandardOpsDialect, |
| arm_sve::ArmSVEDialect, |
| vector::VectorDialect, |
| NVVM::NVVMDialect, |
| ROCDL::ROCDLDialect, |
| shape::ShapeDialect, |
| sparse_tensor::SparseTensorDialect, |
| tensor::TensorDialect, |
| tosa::TosaDialect, |
| x86vector::X86VectorDialect>(); |
| // clang-format on |
| } |
| |
| /// Append all the MLIR dialects to the registry contained in the given context. |
| inline void registerAllDialects(MLIRContext &context) { |
| DialectRegistry registry; |
| registerAllDialects(registry); |
| context.appendDialectRegistry(registry); |
| } |
| |
| } // namespace mlir |
| |
| #endif // MLIR_INITALLDIALECTS_H_ |