brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 37a263f Raw
60 lines · plain
1//===-- TestDialect.td - Test dialect definition -----------*- tablegen -*-===//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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef TEST_DIALECT10#define TEST_DIALECT11 12include "mlir/IR/OpBase.td"13 14def Test_Dialect : Dialect {15  let name = "test";16  let cppNamespace = "::test";17  let hasCanonicalizer = 1;18  let hasConstantMaterializer = 1;19  let hasOperationAttrVerify = 1;20  let hasRegionArgAttrVerify = 1;21  let hasRegionResultAttrVerify = 1;22  let hasOperationInterfaceFallback = 1;23  let hasNonDefaultDestructor = 1;24  let useDefaultTypePrinterParser = 0;25  let useDefaultAttributePrinterParser = 1;26  let isExtensible = 1;27  let dependentDialects = [28    "::mlir::DLTIDialect",29    "::mlir::bufferization::BufferizationDialect"30  ];31  let discardableAttrs = (ins32     "mlir::IntegerAttr":$discardable_attr_key,33     "SimpleAAttr":$other_discardable_attr_key34  );35 36  let extraClassDeclaration = [{37    void registerAttributes();38    void registerInterfaces();39    void registerTypes();40    void registerOpsSyntax();41 42    // Provides a custom printing/parsing for some operations.43    ::std::optional<ParseOpHook>44      getParseOperationHook(::llvm::StringRef opName) const override;45    ::llvm::unique_function<void(::mlir::Operation *,46                                 ::mlir::OpAsmPrinter &printer)>47     getOperationPrinter(::mlir::Operation *op) const override;48 49     ::mlir::Type parseType(::mlir::DialectAsmParser &parser) const override;50     void printType(::mlir::Type type,51                    ::mlir::DialectAsmPrinter &printer) const override;52 53  private:54    // Storage for a custom fallback interface.55    void *fallbackEffectOpInterfaces;56  }];57}58 59#endif // TEST_DIALECT60