Files
triton/lib/ir/Types.cpp

39 lines
979 B
C++
Raw Normal View History

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