MLIR  18.0.0git
Go to the documentation of this file.
1 //===- IR.h - C API Utils for Core MLIR classes -----------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains declarations of implementation details of the C API for
10 // core MLIR classes. This file should not be included from C++ code other than
11 // C API implementation nor from C code.
12 //
13 //===----------------------------------------------------------------------===//
15 #ifndef MLIR_CAPI_IR_H
16 #define MLIR_CAPI_IR_H
19 #include "mlir/CAPI/Wrap.h"
20 #include "mlir/IR/BuiltinOps.h"
21 #include "mlir/IR/MLIRContext.h"
22 #include "mlir/IR/Operation.h"
37 DEFINE_C_API_METHODS(MlirIdentifier, mlir::StringAttr)
39 DEFINE_C_API_METHODS(MlirModule, mlir::ModuleOp)
43 #endif // MLIR_CAPI_IR_H
#define DEFINE_C_API_PTR_METHODS(name, cpptype)
Definition: Wrap.h:25
#define DEFINE_C_API_METHODS(name, cpptype)
Definition: Wrap.h:31
This class provides management for the lifetime of the state used when printing the IR.
Definition: AsmState.h:533
Attributes are known-constant values of operations.
Definition: Attributes.h:25
Block represents an ordered list of Operations.
Definition: Block.h:30
This class contains the configuration used for the bytecode writer.
The DialectRegistry maps a dialect namespace to a constructor for the matching dialect.
Dialects are groups of MLIR operations, types and attributes, as well as behavior associated with the...
Definition: Dialect.h:41
This class defines the main interface for locations in MLIR and acts as a non-nullable wrapper around...
Definition: Location.h:63
MLIRContext is the top-level object for a collection of MLIR operations.
Definition: MLIRContext.h:60
This class represents an operand of an operation.
Definition: Value.h:263
Set of flags used to control the behavior of the various IR print methods (e.g.
Operation is the basic unit of execution within MLIR.
Definition: Operation.h:88
This class contains a list of basic blocks and a link to the parent operation it is attached to.
Definition: Region.h:26
This class allows for representing and managing the symbol table used by operations with the 'SymbolT...
Definition: SymbolTable.h:24
Instances of the Type class are uniqued, have an immutable identifier and an optional mutable compone...
Definition: Types.h:74
This class represents an instance of an SSA value in the MLIR system, representing a computable value...
Definition: Value.h:96