1 //===- PassDetail.h - Conversion Pass class details -------------*- 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 CONVERSION_PASSDETAIL_H_ 10 #define CONVERSION_PASSDETAIL_H_ 11 12 #include "mlir/Pass/Pass.h" 13 14 #include "mlir/Conversion/GPUToROCDL/Runtimes.h" 15 #include "mlir/IR/BuiltinOps.h" 16 #include "mlir/IR/FunctionInterfaces.h" 17 18 namespace mlir { 19 class AffineDialect; 20 21 // Forward declaration from Dialect.h 22 template <typename ConcreteDialect> 23 void registerDialect(DialectRegistry ®istry); 24 25 namespace acc { 26 class OpenACCDialect; 27 } // namespace acc 28 29 namespace arith { 30 class ArithmeticDialect; 31 } // namespace arith 32 33 namespace cf { 34 class ControlFlowDialect; 35 } // namespace cf 36 37 namespace complex { 38 class ComplexDialect; 39 } // namespace complex 40 41 namespace gpu { 42 class GPUDialect; 43 class GPUModuleOp; 44 } // namespace gpu 45 46 namespace func { 47 class FuncDialect; 48 } // namespace func 49 50 namespace linalg { 51 class LinalgDialect; 52 } // namespace linalg 53 54 namespace LLVM { 55 class LLVMDialect; 56 } // namespace LLVM 57 58 namespace nvgpu { 59 class NVGPUDialect; 60 } 61 62 namespace NVVM { 63 class NVVMDialect; 64 } // namespace NVVM 65 66 namespace math { 67 class MathDialect; 68 } // namespace math 69 70 namespace memref { 71 class MemRefDialect; 72 } // namespace memref 73 74 namespace omp { 75 class OpenMPDialect; 76 } // namespace omp 77 78 namespace pdl_interp { 79 class PDLInterpDialect; 80 } // namespace pdl_interp 81 82 namespace ROCDL { 83 class ROCDLDialect; 84 } // namespace ROCDL 85 86 namespace scf { 87 class SCFDialect; 88 } // namespace scf 89 90 namespace spirv { 91 class SPIRVDialect; 92 } // namespace spirv 93 94 namespace tensor { 95 class TensorDialect; 96 } // namespace tensor 97 98 namespace tosa { 99 class TosaDialect; 100 } // namespace tosa 101 102 namespace vector { 103 class VectorDialect; 104 } // namespace vector 105 106 namespace arm_neon { 107 class ArmNeonDialect; 108 } // namespace arm_neon 109 110 #define GEN_PASS_CLASSES 111 #include "mlir/Conversion/Passes.h.inc" 112 113 } // namespace mlir 114 115 #endif // CONVERSION_PASSDETAIL_H_ 116