39 lines
979 B
C++
39 lines
979 B
C++
#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() << ">";
|
|
}
|