//===- DialectSymbolRegistry.def - MLIR Dialect Symbol Registry -*- C++ -*-===//
//
// Part of the MLIR 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 enumerates the different dialects that define custom classes
// within the attribute or type system.
//
//===----------------------------------------------------------------------===//

DEFINE_SYM_KIND_RANGE(STANDARD)
DEFINE_SYM_KIND_RANGE(TENSORFLOW_CONTROL)
DEFINE_SYM_KIND_RANGE(TENSORFLOW_EXECUTOR)
DEFINE_SYM_KIND_RANGE(TENSORFLOW)
DEFINE_SYM_KIND_RANGE(LLVM)
DEFINE_SYM_KIND_RANGE(QUANTIZATION)
DEFINE_SYM_KIND_RANGE(IREE) // IREE stands for IR Execution Engine
DEFINE_SYM_KIND_RANGE(LINALG) // Linear Algebra Dialect
DEFINE_SYM_KIND_RANGE(FIR) // Flang Fortran IR Dialect
DEFINE_SYM_KIND_RANGE(OPENMP) // OpenMP IR Dialect
DEFINE_SYM_KIND_RANGE(TOY) // Toy language (tutorial) Dialect
DEFINE_SYM_KIND_RANGE(SPIRV) // SPIR-V dialect
DEFINE_SYM_KIND_RANGE(XLA_HLO) // XLA HLO dialect
DEFINE_SYM_KIND_RANGE(SHAPE) // Shape dialect

// The following ranges are reserved for experimenting with MLIR dialects in a
// private context without having to register them here.
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_0)
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_1)
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_2)
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_3)
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_4)
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_5)
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_6)
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_7)
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_8)
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_9)

#undef DEFINE_SYM_KIND_RANGE
