diff options
| author | Andy Davis <andydavis@google.com> | 2019-11-11 10:32:52 -0800 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-11-11 10:33:27 -0800 |
| commit | 5cf6e0ce7f03f9841675b1a9d44232540f3df5cc (patch) | |
| tree | ff2fd4639568dc7bdc4fa91132397c154a5e7d8d /mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp | |
| parent | e04d4bf865b01ec35ecfb98b34372a1dacd70266 (diff) | |
| download | bcm5719-llvm-5cf6e0ce7f03f9841675b1a9d44232540f3df5cc.tar.gz bcm5719-llvm-5cf6e0ce7f03f9841675b1a9d44232540f3df5cc.zip | |
Adds std.subview operation which takes dynamic offsets, sizes and strides and returns a memref type which represents sub/reduced-size view of its memref argument.
This operation is a companion operation to the std.view operation added as proposed in "Updates to the MLIR MemRefType" RFC.
PiperOrigin-RevId: 279766410
Diffstat (limited to 'mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp')
| -rw-r--r-- | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp b/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp index 9a160f534fe..06563ff96cf 100644 --- a/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp +++ b/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp @@ -376,10 +376,10 @@ void mlir::linalg::SubViewOp::build(Builder *b, OperationState &result, result.addAttributes(attrs); } -static void print(OpAsmPrinter &p, SubViewOp op) { +static void print(OpAsmPrinter &p, mlir::linalg::SubViewOp op) { p << op.getOperationName() << " " << *op.getOperand(0) << "["; auto ranges = op.getRanges(); - interleaveComma(ranges, p, [&p](const SubViewOp::Range &i) { + interleaveComma(ranges, p, [&p](const mlir::linalg::SubViewOp::Range &i) { p << *i.min << ", " << *i.max << ", " << *i.step; }); p << "]"; @@ -646,8 +646,9 @@ static LogicalResult verify(ConvOp op) { return success(); } -llvm::raw_ostream &mlir::linalg::operator<<(llvm::raw_ostream &os, - SubViewOp::Range &range) { +llvm::raw_ostream & +mlir::linalg::operator<<(llvm::raw_ostream &os, + mlir::linalg::SubViewOp::Range &range) { return os << "range " << *range.min << ":" << *range.max << ":" << *range.step; } |

