26static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops1(
27 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
28 unsigned valueIndex) {
30 return op->emitOpError(valueKind) <<
" #" << valueIndex
31 <<
" must be a valid LLZK type, but got " << type;
33 return ::mlir::success();
47 return ::mlir::success();
50void NonDetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type res) {
51 odsState.addTypes(res);
54void NonDetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes) {
55 assert(resultTypes.size() == 1u &&
"mismatched number of results");
56 odsState.addTypes(resultTypes);
59void NonDetOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
60 assert(operands.size() == 0u &&
"mismatched number of parameters");
61 odsState.addOperands(operands);
62 odsState.addAttributes(attributes);
63 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
64 odsState.addTypes(resultTypes);
69 unsigned index = 0; (void)index;
72 for (
auto v : valueGroup0) {
73 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
74 return ::mlir::failure();
77 return ::mlir::success();
84::mlir::ParseResult
NonDetOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
85 ::mlir::Type resRawType{};
86 ::llvm::ArrayRef<::mlir::Type> resTypes(&resRawType, 1);
87 if (parser.parseColon())
88 return ::mlir::failure();
92 if (parser.parseCustomTypeWithFallback(type))
93 return ::mlir::failure();
97 auto loc = parser.getCurrentLocation();(void)loc;
98 if (parser.parseOptionalAttrDict(result.attributes))
99 return ::mlir::failure();
101 result.addTypes(resTypes);
102 return ::mlir::success();
106 _odsPrinter <<
' ' <<
":";
109 auto type =
getRes().getType();
110 if (
auto validType = ::llvm::dyn_cast<::mlir::Type>(type))
111 _odsPrinter.printStrippedAttrOrType(validType);
115 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
116 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
119void NonDetOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
NonDetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
NonDetOpAdaptor(NonDetOp op)
::mlir::ValueRange getOperands()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getRes()
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type res)
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
bool isValidType(Type type)