#include "triton/ir/Dialect.h" #include "triton/ir/Types.h" #include "mlir/IR/DialectImplementation.h" // required by `Types.cpp.inc` #include "llvm/ADT/TypeSwitch.h" // required by `Types.cpp.inc` using namespace mlir; using namespace mlir::triton; #define GET_TYPEDEF_CLASSES #include "triton/ir/Types.cpp.inc" //===----------------------------------------------------------------------===// // Triton Dialect //===----------------------------------------------------------------------===// void TritonDialect::registerTypes() { addTypes< #define GET_TYPEDEF_LIST #include "triton/ir/Types.cpp.inc" >(); } Type PointerType::parse(AsmParser &parser) { if (parser.parseLess()) return Type(); Type pointeeType; if (parser.parseType(pointeeType)) return Type(); if (parser.parseGreater()) return Type(); return PointerType::get(pointeeType, 0); } void PointerType::print(AsmPrinter &printer) const { printer << "<" << getPointeeType() << ">"; }