//===- GenInfo.h - Generator info -------------------------------*- 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 // //===----------------------------------------------------------------------===// #ifndef MLIR_TABLEGEN_GENINFO_H_ #define MLIR_TABLEGEN_GENINFO_H_ #include "mlir/Support/LLVM.h" #include "llvm/ADT/StringRef.h" #include <functional> #include <utility> namespace llvm { class RecordKeeper; } // namespace llvm namespace mlir { /// Generator function to invoke. GenFunction; /// Structure to group information about a generator (argument to invoke via /// mlir-tblgen, description, and generator function). class GenInfo { … }; /// GenRegistration provides a global initializer that registers a generator /// function. /// /// Usage: /// /// // At namespace scope. /// static GenRegistration Print("print", "Print records", [](...){...}); struct GenRegistration { … }; } // namespace mlir #endif // MLIR_TABLEGEN_GENINFO_H_