MLIR 22.0.0git
IR.h
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 https://llvm.org/LICENSE.txt 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//===----------------------------------------------------------------------===//
14
15#ifndef MLIR_CAPI_IR_H
16#define MLIR_CAPI_IR_H
17
19#include "mlir/CAPI/Wrap.h"
20#include "mlir/IR/BuiltinOps.h"
21#include "mlir/IR/MLIRContext.h"
22#include "mlir/IR/Operation.h"
23
35
37DEFINE_C_API_METHODS(MlirIdentifier, mlir::StringAttr)
39DEFINE_C_API_METHODS(MlirModule, mlir::ModuleOp)
42
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:542
Attributes are known-constant values of operations.
Definition Attributes.h:25
Block represents an ordered list of Operations.
Definition Block.h:33
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:38
This class defines the main interface for locations in MLIR and acts as a non-nullable wrapper around...
Definition Location.h:76
MLIRContext is the top-level object for a collection of MLIR operations.
Definition MLIRContext.h:63
This class represents an operand of an operation.
Definition Value.h:257
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