//===- Operator.h - Operator class ------------------------------*- 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 // //===----------------------------------------------------------------------===// // // Operator wrapper to simplify using TableGen Record defining a MLIR Op. // //===----------------------------------------------------------------------===// #ifndef MLIR_TABLEGEN_OPERATOR_H_ #define MLIR_TABLEGEN_OPERATOR_H_ #include "mlir/Support/LLVM.h" #include "mlir/TableGen/Argument.h" #include "mlir/TableGen/Attribute.h" #include "mlir/TableGen/Builder.h" #include "mlir/TableGen/Dialect.h" #include "mlir/TableGen/Property.h" #include "mlir/TableGen/Region.h" #include "mlir/TableGen/Successor.h" #include "mlir/TableGen/Trait.h" #include "mlir/TableGen/Type.h" #include "llvm/ADT/PointerUnion.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/SMLoc.h" namespace llvm { class DefInit; class Record; class StringInit; } // namespace llvm namespace mlir { namespace tblgen { /// This class represents an inferred result type. The result type can be /// inferred from an argument or result type. If it is inferred from another /// result type, that type must be buildable or inferred from yet another type. class InferredResultType { … }; /// Wrapper class that contains a MLIR op's information (e.g., operands, /// attributes) defined in TableGen and provides helper methods for /// accessing them. class Operator { … }; } // namespace tblgen } // namespace mlir #endif // MLIR_TABLEGEN_OPERATOR_H_