diff --git a/mlir/include/mlir/IR/FunctionSupport.h b/mlir/include/mlir/IR/FunctionSupport.h --- a/mlir/include/mlir/IR/FunctionSupport.h +++ b/mlir/include/mlir/IR/FunctionSupport.h @@ -220,13 +220,11 @@ return getBlocks().front().getArgument(idx); } - // Supports non-const operand iteration. + /// Support argument iteration. using args_iterator = Block::args_iterator; args_iterator args_begin() { return front().args_begin(); } args_iterator args_end() { return front().args_end(); } - iterator_range getArguments() { - return {args_begin(), args_end()}; - } + Block::BlockArgListType getArguments() { return front().getArguments(); } //===--------------------------------------------------------------------===// // Argument Attributes diff --git a/mlir/include/mlir/IR/OperationSupport.h b/mlir/include/mlir/IR/OperationSupport.h --- a/mlir/include/mlir/IR/OperationSupport.h +++ b/mlir/include/mlir/IR/OperationSupport.h @@ -658,6 +658,8 @@ : ValueRange(OperandRange(values)) {} ValueRange(iterator_range values) : ValueRange(ResultRange(values)) {} + ValueRange(ArrayRef values) + : ValueRange(ArrayRef(values.data(), values.size())) {} ValueRange(ArrayRef values = llvm::None); ValueRange(OperandRange values); ValueRange(ResultRange values); diff --git a/mlir/lib/Dialect/LoopOps/LoopOps.cpp b/mlir/lib/Dialect/LoopOps/LoopOps.cpp --- a/mlir/lib/Dialect/LoopOps/LoopOps.cpp +++ b/mlir/lib/Dialect/LoopOps/LoopOps.cpp @@ -332,10 +332,9 @@ } static void print(OpAsmPrinter &p, ParallelOp op) { - p << op.getOperationName() << " ("; - p.printOperands(op.getBody()->getArguments()); - p << ") = (" << op.lowerBound() << ") to (" << op.upperBound() << ") step (" - << op.step() << ")"; + p << op.getOperationName() << " (" << op.getBody()->getArguments() << ") = (" + << op.lowerBound() << ") to (" << op.upperBound() << ") step (" << op.step() + << ")"; p.printRegion(op.region(), /*printEntryBlockArgs=*/false); p.printOptionalAttrDict(op.getAttrs()); if (!op.results().empty()) diff --git a/mlir/test/EDSC/builder-api-test.cpp b/mlir/test/EDSC/builder-api-test.cpp --- a/mlir/test/EDSC/builder-api-test.cpp +++ b/mlir/test/EDSC/builder-api-test.cpp @@ -897,10 +897,9 @@ OpBuilder builder(f.getBody()); ScopedContext scope(builder, f.getLoc()); - linalg_dilated_conv_nhwc( - makeValueHandles(llvm::to_vector<3>(f.getArguments())), - /*depth_multiplier=*/7, - /*strides=*/{3, 4}, /*dilations=*/{5, 6}); + linalg_dilated_conv_nhwc(makeValueHandles(f.getArguments()), + /*depth_multiplier=*/7, + /*strides=*/{3, 4}, /*dilations=*/{5, 6}); f.print(llvm::outs()); f.erase();