@@ -2419,7 +2419,7 @@ void cir::InlineAsmOp::print(OpAsmPrinter &p) {
24192419 auto *nameIt = names.begin ();
24202420 auto *attrIt = getOperandAttrs ().begin ();
24212421
2422- for (auto ops : getAsmOperands ()) {
2422+ for (mlir::OperandRange ops : getAsmOperands ()) {
24232423 p << *nameIt << " = " ;
24242424
24252425 p << ' [' ;
@@ -2491,7 +2491,7 @@ ParseResult cir::InlineAsmOp::parse(OpAsmParser &parser,
24912491 llvm::SmallVector<int32_t > operandsGroupSizes;
24922492 std::string asmString, constraints;
24932493 Type resType;
2494- auto *ctxt = parser.getBuilder ().getContext ();
2494+ MLIRContext *ctxt = parser.getBuilder ().getContext ();
24952495
24962496 auto error = [&](const Twine &msg) -> LogicalResult {
24972497 return parser.emitError (parser.getCurrentLocation (), msg);
@@ -2515,7 +2515,7 @@ ParseResult cir::InlineAsmOp::parse(OpAsmParser &parser,
25152515 OpAsmParser::UnresolvedOperand op;
25162516
25172517 if (parser.parseOperand (op) || parser.parseColon ())
2518- return mlir::failure ( );
2518+ return error ( " can't parse operand " );
25192519
25202520 Type typ;
25212521 if (parser.parseType (typ).failed ())
@@ -2543,26 +2543,30 @@ ParseResult cir::InlineAsmOp::parse(OpAsmParser &parser,
25432543 return mlir::success ();
25442544 }
25452545
2546- if (parser.parseCommaSeparatedList ([&]() {
2547- Value val;
2548- if (parseValue (val).succeeded ()) {
2549- result.operands .push_back (val);
2550- size++;
2551-
2552- if (parser.parseOptionalLParen ().failed ()) {
2553- operandAttrs.push_back (mlir::Attribute ());
2554- return mlir::success ();
2555- }
2556-
2557- if (parser.parseKeyword (" maybe_memory" ).succeeded ()) {
2558- operandAttrs.push_back (mlir::UnitAttr::get (ctxt));
2559- if (parser.parseRParen ())
2560- return expected (" )" );
2561- return mlir::success ();
2562- }
2563- }
2564- return mlir::failure ();
2565- }))
2546+ auto parseOperand = [&]() {
2547+ Value val;
2548+ if (parseValue (val).succeeded ()) {
2549+ result.operands .push_back (val);
2550+ size++;
2551+
2552+ if (parser.parseOptionalLParen ().failed ()) {
2553+ operandAttrs.push_back (mlir::Attribute ());
2554+ return mlir::success ();
2555+ }
2556+
2557+ if (parser.parseKeyword (" maybe_memory" ).succeeded ()) {
2558+ operandAttrs.push_back (mlir::UnitAttr::get (ctxt));
2559+ if (parser.parseRParen ())
2560+ return expected (" )" );
2561+ return mlir::success ();
2562+ } else {
2563+ return expected (" maybe_memory" );
2564+ }
2565+ }
2566+ return mlir::failure ();
2567+ };
2568+
2569+ if (parser.parseCommaSeparatedList (parseOperand).failed ())
25662570 return mlir::failure ();
25672571
25682572 if (parser.parseRSquare ().failed () || parser.parseComma ().failed ())
0 commit comments