Summary: This is the first revision in a series that adds support for declaratively specifying the asm format of an operation. This revision focuses solely on parsing the format. Future revisions will add support for generating the proper parser/printer, as well as transitioning the syntax definition of many existing operations. This was originally proposed here: https://llvm.discourse.group/t/rfc-declarative-op-assembly-format/340 Differential Revision: https://reviews.llvm.org/D73405
29 lines
940 B
C++
29 lines
940 B
C++
//===- OpFormatGen.h - MLIR operation format generator ----------*- 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 file defines the interface for generating parsers and printers from the
|
|
// declarative format.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef MLIR_TOOLS_MLIRTBLGEN_OPFORMATGEN_H_
|
|
#define MLIR_TOOLS_MLIRTBLGEN_OPFORMATGEN_H_
|
|
|
|
namespace mlir {
|
|
namespace tblgen {
|
|
class OpClass;
|
|
class Operator;
|
|
|
|
// Generate the assembly format for the given operator.
|
|
void generateOpFormat(const Operator &constOp, OpClass &opClass);
|
|
|
|
} // end namespace tblgen
|
|
} // end namespace mlir
|
|
|
|
#endif // MLIR_TOOLS_MLIRTBLGEN_OPFORMATGEN_H_
|