blob: 62c755be40a521f1a8e03ea48b43240c09271526 [file] [log] [blame]
// Copyright 2021 The IREE Authors
//
// Licensed 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
#include "iree-dialects/Dialect/Input/InputDialect.h"
#include "iree-dialects/Dialect/Input/InputOps.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/TypeSwitch.h"
using namespace mlir;
using namespace mlir::iree_compiler::IREE::Input;
#include "iree-dialects/Dialect/Input/InputDialect.cpp.inc"
#define GET_TYPEDEF_CLASSES
#include "iree-dialects/Dialect/Input/InputTypes.cpp.inc"
void IREEInputDialect::initialize() {
addTypes<
#define GET_TYPEDEF_LIST
#include "iree-dialects/Dialect/Input/InputTypes.cpp.inc"
>();
addOperations<
#define GET_OP_LIST
#include "iree-dialects/Dialect/Input/InputOps.cpp.inc"
>();
}
namespace mlir {
namespace iree_compiler {
namespace IREE {
namespace Input {
// ListType
Type ListType::parse(AsmParser &parser) {
MLIRContext *ctxt = parser.getContext();
Type elementType;
if (parser.parseLess() || parser.parseType(elementType) ||
parser.parseGreater())
return Type();
return get(ctxt, elementType);
}
void ListType::print(AsmPrinter &printer) const {
printer << "<" << getElementType() << ">";
}
// PtrType
Type PtrType::parse(AsmParser &parser) {
MLIRContext *ctxt = parser.getContext();
Type targetType;
if (parser.parseLess() || parser.parseType(targetType) ||
parser.parseGreater())
return Type();
return get(ctxt, targetType);
}
void PtrType::print(AsmPrinter &printer) const {
printer << "<" << getTargetType() << ">";
}
} // namespace Input
} // namespace IREE
} // namespace iree_compiler
} // namespace mlir