Lines Matching refs:parser
146 DialectAsmParser &parser);
149 DialectAsmParser &parser);
153 DialectAsmParser &parser);
156 DialectAsmParser &parser) { in parseAndVerifyType() argument
158 SMLoc typeLoc = parser.getCurrentLocation(); in parseAndVerifyType()
159 if (parser.parseType(type)) in parseAndVerifyType()
169 parser.emitError(typeLoc, "cannot use 'bf16' to compose SPIR-V types"); in parseAndVerifyType()
174 parser.emitError(typeLoc, in parseAndVerifyType()
181 parser.emitError(typeLoc, "only 1-D vector allowed but found ") << t; in parseAndVerifyType()
185 parser.emitError( in parseAndVerifyType()
191 parser.emitError(typeLoc, "cannot use ") in parseAndVerifyType()
200 DialectAsmParser &parser) { in parseAndVerifyMatrixType() argument
202 SMLoc typeLoc = parser.getCurrentLocation(); in parseAndVerifyMatrixType()
203 if (parser.parseType(type)) in parseAndVerifyMatrixType()
208 parser.emitError(typeLoc, "only 1-D vector allowed but found ") << t; in parseAndVerifyMatrixType()
212 parser.emitError(typeLoc, in parseAndVerifyMatrixType()
220 parser.emitError(typeLoc, "matrix columns' elements must be of " in parseAndVerifyMatrixType()
226 parser.emitError(typeLoc, "matrix must be composed using vector " in parseAndVerifyMatrixType()
236 DialectAsmParser &parser) { in parseAndVerifySampledImageType() argument
238 SMLoc typeLoc = parser.getCurrentLocation(); in parseAndVerifySampledImageType()
239 if (parser.parseType(type)) in parseAndVerifySampledImageType()
243 parser.emitError(typeLoc, in parseAndVerifySampledImageType()
256 DialectAsmParser &parser, in parseOptionalArrayStride() argument
258 if (failed(parser.parseOptionalComma())) { in parseOptionalArrayStride()
263 if (parser.parseKeyword("stride") || parser.parseEqual()) in parseOptionalArrayStride()
266 SMLoc strideLoc = parser.getCurrentLocation(); in parseOptionalArrayStride()
267 Optional<unsigned> optStride = parseAndVerify<unsigned>(dialect, parser); in parseOptionalArrayStride()
272 parser.emitError(strideLoc, "ArrayStride must be greater than zero"); in parseOptionalArrayStride()
286 DialectAsmParser &parser) { in parseArrayType() argument
287 if (parser.parseLess()) in parseArrayType()
291 SMLoc countLoc = parser.getCurrentLocation(); in parseArrayType()
292 if (parser.parseDimensionList(countDims, /*allowDynamic=*/false)) in parseArrayType()
295 parser.emitError(countLoc, in parseArrayType()
304 parser.emitError(countLoc, "expected array length greater than 0"); in parseArrayType()
308 Type elementType = parseAndVerifyType(dialect, parser); in parseArrayType()
313 if (failed(parseOptionalArrayStride(dialect, parser, stride))) in parseArrayType()
316 if (parser.parseGreater()) in parseArrayType()
324 DialectAsmParser &parser) { in parseCooperativeMatrixType() argument
325 if (parser.parseLess()) in parseCooperativeMatrixType()
329 SMLoc countLoc = parser.getCurrentLocation(); in parseCooperativeMatrixType()
330 if (parser.parseDimensionList(dims, /*allowDynamic=*/false)) in parseCooperativeMatrixType()
334 parser.emitError(countLoc, "expected rows and columns size"); in parseCooperativeMatrixType()
338 auto elementTy = parseAndVerifyType(dialect, parser); in parseCooperativeMatrixType()
343 if (parser.parseComma() || parseEnumKeywordAttr(scope, parser, "scope <id>")) in parseCooperativeMatrixType()
346 if (parser.parseGreater()) in parseCooperativeMatrixType()
361 DialectAsmParser &parser) { in parsePointerType() argument
362 if (parser.parseLess()) in parsePointerType()
365 auto pointeeType = parseAndVerifyType(dialect, parser); in parsePointerType()
370 SMLoc storageClassLoc = parser.getCurrentLocation(); in parsePointerType()
371 if (parser.parseComma() || parser.parseKeyword(&storageClassSpec)) in parsePointerType()
376 parser.emitError(storageClassLoc, "unknown storage class: ") in parsePointerType()
380 if (parser.parseGreater()) in parsePointerType()
388 DialectAsmParser &parser) { in parseRuntimeArrayType() argument
389 if (parser.parseLess()) in parseRuntimeArrayType()
392 Type elementType = parseAndVerifyType(dialect, parser); in parseRuntimeArrayType()
397 if (failed(parseOptionalArrayStride(dialect, parser, stride))) in parseRuntimeArrayType()
400 if (parser.parseGreater()) in parseRuntimeArrayType()
407 DialectAsmParser &parser) { in parseMatrixType() argument
408 if (parser.parseLess()) in parseMatrixType()
412 SMLoc countLoc = parser.getCurrentLocation(); in parseMatrixType()
413 if (parser.parseDimensionList(countDims, /*allowDynamic=*/false)) in parseMatrixType()
416 parser.emitError(countLoc, "expected single unsigned " in parseMatrixType()
424 parser.emitError(countLoc, "matrix is expected to have 2, 3, or 4 " in parseMatrixType()
429 Type columnType = parseAndVerifyMatrixType(dialect, parser); in parseMatrixType()
433 if (parser.parseGreater()) in parseMatrixType()
443 DialectAsmParser &parser) { in parseAndVerify() argument
445 SMLoc enumLoc = parser.getCurrentLocation(); in parseAndVerify()
446 if (parser.parseKeyword(&enumSpec)) { in parseAndVerify()
452 parser.emitError(enumLoc, "unknown attribute: '") << enumSpec << "'"; in parseAndVerify()
458 DialectAsmParser &parser) { in parseAndVerify() argument
460 auto ty = parseAndVerifyType(dialect, parser); in parseAndVerify()
468 DialectAsmParser &parser) { in parseAndVerifyInteger() argument
470 if (parser.parseInteger(offsetVal)) in parseAndVerifyInteger()
477 DialectAsmParser &parser) { in parseAndVerify() argument
478 return parseAndVerifyInteger<unsigned>(dialect, parser); in parseAndVerify()
489 operator()(SPIRVDialect const &dialect, DialectAsmParser &parser) const { in operator ()()
490 auto parseVal = parseAndVerify<ParseType>(dialect, parser); in operator ()()
495 if (numArgs != 0 && failed(parser.parseComma())) in operator ()()
497 auto remainingValues = ParseCommaSeparatedList<Args...>{}(dialect, parser); in operator ()()
510 DialectAsmParser &parser) const { in operator ()()
511 if (auto value = parseAndVerify<ParseType>(dialect, parser)) in operator ()()
534 DialectAsmParser &parser) { in parseImageType() argument
535 if (parser.parseLess()) in parseImageType()
541 ImageFormat>{}(dialect, parser); in parseImageType()
545 if (parser.parseGreater()) in parseImageType()
552 DialectAsmParser &parser) { in parseSampledImageType() argument
553 if (parser.parseLess()) in parseSampledImageType()
556 Type parsedType = parseAndVerifySampledImageType(dialect, parser); in parseSampledImageType()
560 if (parser.parseGreater()) in parseSampledImageType()
567 SPIRVDialect const &dialect, DialectAsmParser &parser, in parseStructMemberDecorations() argument
573 SMLoc offsetLoc = parser.getCurrentLocation(); in parseStructMemberDecorations()
575 OptionalParseResult offsetParseResult = parser.parseOptionalInteger(offset); in parseStructMemberDecorations()
581 return parser.emitError(offsetLoc, in parseStructMemberDecorations()
589 if (succeeded(parser.parseOptionalRSquare())) in parseStructMemberDecorations()
593 if (offsetParseResult.hasValue() && parser.parseComma()) in parseStructMemberDecorations()
598 auto memberDecoration = parseAndVerify<spirv::Decoration>(dialect, parser); in parseStructMemberDecorations()
603 if (succeeded(parser.parseOptionalEqual())) { in parseStructMemberDecorations()
605 parseAndVerifyInteger<uint32_t>(dialect, parser); in parseStructMemberDecorations()
620 if (failed(parser.parseCommaSeparatedList(parseDecorations)) || in parseStructMemberDecorations()
621 failed(parser.parseRSquare())) in parseStructMemberDecorations()
634 DialectAsmParser &parser) { in parseStructType() argument
654 if (parser.parseLess()) in parseStructType()
660 if (succeeded(parser.parseOptionalKeyword(&identifier))) { in parseStructType()
662 if (succeeded(parser.parseOptionalGreater())) { in parseStructType()
664 parser.emitError( in parseStructType()
665 parser.getNameLoc(), in parseStructType()
674 if (failed(parser.parseComma())) in parseStructType()
678 parser.emitError(parser.getNameLoc(), in parseStructType()
687 if (failed(parser.parseLParen())) in parseStructType()
690 if (succeeded(parser.parseOptionalRParen()) && in parseStructType()
691 succeeded(parser.parseOptionalGreater())) { in parseStructType()
709 if (parser.parseType(memberType)) in parseStructType()
713 if (succeeded(parser.parseOptionalLSquare())) in parseStructType()
714 if (parseStructMemberDecorations(dialect, parser, memberTypes, offsetInfo, in parseStructType()
717 } while (succeeded(parser.parseOptionalComma())); in parseStructType()
720 parser.emitError(parser.getNameLoc(), in parseStructType()
725 if (failed(parser.parseRParen()) || failed(parser.parseGreater())) in parseStructType()
747 Type SPIRVDialect::parseType(DialectAsmParser &parser) const { in parseType()
749 if (parser.parseKeyword(&keyword)) in parseType()
753 return parseArrayType(*this, parser); in parseType()
755 return parseCooperativeMatrixType(*this, parser); in parseType()
757 return parseImageType(*this, parser); in parseType()
759 return parsePointerType(*this, parser); in parseType()
761 return parseRuntimeArrayType(*this, parser); in parseType()
763 return parseSampledImageType(*this, parser); in parseType()
765 return parseStructType(*this, parser); in parseType()
767 return parseMatrixType(*this, parser); in parseType()
768 parser.emitError(parser.getNameLoc(), "unknown SPIR-V type: ") << keyword; in parseType()