/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Dialect Declarations                                                       *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|* From: MIFDialect.td                                                        *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace mif {

/// Multi-Image Fortran dialect
/// The "MIF" dialect is designed to contain the basic coarray operations
///     in Fortran and all multi image operations as descibed in the standard.
///     This includes synchronization operations, atomic operations,
///     image queries, teams, criticals, etc. The MIF dialect operations use 
///     the FIR types and are tightly coupled with FIR and HLFIR.
class MIFDialect : public ::mlir::Dialect {
  explicit MIFDialect(::mlir::MLIRContext *context);

  void initialize();
  friend class ::mlir::MLIRContext;
public:
  ~MIFDialect() override;
  static constexpr ::llvm::StringLiteral getDialectNamespace() {
    return ::llvm::StringLiteral("mif");
  }
};

} // namespace mif
MLIR_DECLARE_EXPLICIT_TYPE_ID(::mif::MIFDialect)
