diff --git a/mlir/lib/Dialect/Async/IR/Async.cpp b/mlir/lib/Dialect/Async/IR/Async.cpp --- a/mlir/lib/Dialect/Async/IR/Async.cpp +++ b/mlir/lib/Dialect/Async/IR/Async.cpp @@ -105,8 +105,8 @@ return result.getType().cast().getValueType(); }); - if (!std::equal(types.begin(), types.end(), op.getOperandTypes().begin())) - return op.emitOpError("Operand types do not match the types returned from " + if (op.getOperandTypes() != types) + return op.emitOpError("operand types do not match the types returned from " "the parent ExecuteOp"); return success(); @@ -238,12 +238,7 @@ }); // Verify that unwrapped argument types matches the body region arguments. - if (llvm::size(unwrappedTypes) != llvm::size(op.body().getArgumentTypes())) - return op.emitOpError("the number of async body region arguments does not " - "match the number of execute operation arguments"); - - if (!std::equal(unwrappedTypes.begin(), unwrappedTypes.end(), - op.body().getArgumentTypes().begin())) + if (op.body().getArgumentTypes() != unwrappedTypes) return op.emitOpError("async body region argument types do not match the " "execute operation arguments types");