161352a58SStella Laurenzo //===- MLProgramDialect.cpp - MLProgram dialect implementation ------------===// 261352a58SStella Laurenzo // 361352a58SStella Laurenzo // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 461352a58SStella Laurenzo // See https://llvm.org/LICENSE.txt for license information. 561352a58SStella Laurenzo // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 661352a58SStella Laurenzo // 761352a58SStella Laurenzo //===----------------------------------------------------------------------===// 861352a58SStella Laurenzo 961352a58SStella Laurenzo #include "mlir/Dialect/MLProgram/IR/MLProgram.h" 102bb25285SStella Laurenzo #include "mlir/IR/DialectImplementation.h" 112bb25285SStella Laurenzo #include "llvm/ADT/TypeSwitch.h" 1261352a58SStella Laurenzo 1361352a58SStella Laurenzo using namespace mlir; 1461352a58SStella Laurenzo using namespace mlir::ml_program; 1561352a58SStella Laurenzo 162bb25285SStella Laurenzo //===----------------------------------------------------------------------===// 172bb25285SStella Laurenzo /// Tablegen Definitions 182bb25285SStella Laurenzo //===----------------------------------------------------------------------===// 192bb25285SStella Laurenzo 2061352a58SStella Laurenzo #include "mlir/Dialect/MLProgram/IR/MLProgramOpsDialect.cpp.inc" 212bb25285SStella Laurenzo #define GET_ATTRDEF_CLASSES 222bb25285SStella Laurenzo #include "mlir/Dialect/MLProgram/IR/MLProgramAttributes.cpp.inc" 23*3bb79993SStella Laurenzo #define GET_TYPEDEF_CLASSES 24*3bb79993SStella Laurenzo #include "mlir/Dialect/MLProgram/IR/MLProgramTypes.cpp.inc" 252bb25285SStella Laurenzo 262bb25285SStella Laurenzo namespace { 272bb25285SStella Laurenzo struct MLProgramOpAsmDialectInterface : public OpAsmDialectInterface { 282bb25285SStella Laurenzo using OpAsmDialectInterface::OpAsmDialectInterface; 292bb25285SStella Laurenzo getAlias__anonf3e26b4f0111::MLProgramOpAsmDialectInterface302bb25285SStella Laurenzo AliasResult getAlias(Attribute attr, raw_ostream &os) const override { 312bb25285SStella Laurenzo if (attr.isa<ExternAttr>()) { 322bb25285SStella Laurenzo os << "extern"; 332bb25285SStella Laurenzo return AliasResult::OverridableAlias; 342bb25285SStella Laurenzo } 352bb25285SStella Laurenzo return AliasResult::NoAlias; 362bb25285SStella Laurenzo } 372bb25285SStella Laurenzo }; 382bb25285SStella Laurenzo } // namespace 3961352a58SStella Laurenzo initialize()4061352a58SStella Laurenzovoid ml_program::MLProgramDialect::initialize() { 412bb25285SStella Laurenzo #define GET_ATTRDEF_LIST 422bb25285SStella Laurenzo addAttributes< 432bb25285SStella Laurenzo #include "mlir/Dialect/MLProgram/IR/MLProgramAttributes.cpp.inc" 442bb25285SStella Laurenzo >(); 45*3bb79993SStella Laurenzo 46*3bb79993SStella Laurenzo #define GET_TYPEDEF_LIST 47*3bb79993SStella Laurenzo addTypes< 48*3bb79993SStella Laurenzo #include "mlir/Dialect/MLProgram/IR/MLProgramTypes.cpp.inc" 49*3bb79993SStella Laurenzo >(); 50*3bb79993SStella Laurenzo 5161352a58SStella Laurenzo addOperations< 5261352a58SStella Laurenzo #define GET_OP_LIST 5361352a58SStella Laurenzo #include "mlir/Dialect/MLProgram/IR/MLProgramOps.cpp.inc" 5461352a58SStella Laurenzo >(); 55*3bb79993SStella Laurenzo 562bb25285SStella Laurenzo addInterfaces<MLProgramOpAsmDialectInterface>(); 5761352a58SStella Laurenzo } 58