| /*===-- mlir-c/StandardDialect.h - C API for Standard dialect -----*- 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 header declares the C interface for registering and accessing the *| |
| |* Standard dialect. A dialect should be registered with a context to make it *| |
| |* available to users of the context. These users must load the dialect *| |
| |* before using any of its attributes, operations or types. Parser and pass *| |
| |* manager can load registered dialects automatically. *| |
| |* *| |
| \*===----------------------------------------------------------------------===*/ |
| |
| #ifndef MLIR_C_STANDARDDIALECT_H |
| #define MLIR_C_STANDARDDIALECT_H |
| |
| #include "mlir-c/IR.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** Registers the Standard dialect with the given context. This allows the |
| * dialect to be loaded dynamically if needed when parsing. */ |
| void mlirContextRegisterStandardDialect(MlirContext context); |
| |
| /** Loads the Standard dialect into the given context. The dialect does _not_ |
| * have to be registered in advance. */ |
| MlirDialect mlirContextLoadStandardDialect(MlirContext context); |
| |
| /** Returns the namespace of the Standard dialect, suitable for loading it. */ |
| MlirStringRef mlirStandardDialectGetNamespace(); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // MLIR_C_STANDARDDIALECT_H |