//===-- TestDialect.td - Test dialect definition -----------*- tablegen -*-===// // // 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 TEST_DIALECT #define TEST_DIALECT include "mlir/IR/OpBase.td" def Test_Dialect : Dialect { let name = "test"; let cppNamespace = "::test"; let hasCanonicalizer = 1; let hasConstantMaterializer = 1; let hasOperationAttrVerify = 1; let hasRegionArgAttrVerify = 1; let hasRegionResultAttrVerify = 1; let hasOperationInterfaceFallback = 1; let hasNonDefaultDestructor = 1; let useDefaultTypePrinterParser = 0; let useDefaultAttributePrinterParser = 1; let isExtensible = 1; let dependentDialects = ["::mlir::DLTIDialect"]; let extraClassDeclaration = [{ void registerAttributes(); void registerInterfaces(); void registerTypes(); void registerOpsSyntax(); // Provides a custom printing/parsing for some operations. ::std::optional getParseOperationHook(::llvm::StringRef opName) const override; ::llvm::unique_function getOperationPrinter(::mlir::Operation *op) const override; ::mlir::Type parseType(::mlir::DialectAsmParser &parser) const override; void printType(::mlir::Type type, ::mlir::DialectAsmPrinter &printer) const override; private: // Storage for a custom fallback interface. void *fallbackEffectOpInterfaces; }]; } #endif // TEST_DIALECT