diff options
author | Aart Bik <ajcbik@google.com> | 2019-12-18 11:23:16 -0800 |
---|---|---|
committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-12-18 11:31:34 -0800 |
commit | d9b500d3bb151bfb96073b0d66e8338a5c0186d5 (patch) | |
tree | fd385a47ba52f5c4f274882f50cad6aecb3a2d0b /mlir/lib/Dialect/VectorOps | |
parent | c169852fc5c5efb4b01600477da00e6ef2517231 (diff) | |
download | bcm5719-llvm-d9b500d3bb151bfb96073b0d66e8338a5c0186d5.tar.gz bcm5719-llvm-d9b500d3bb151bfb96073b0d66e8338a5c0186d5.zip |
[VectorOps] Add vector.print definition, with lowering support
Examples:
vector.print %f : f32
vector.print %x : vector<4xf32>
vector.print %y : vector<3x4xf32>
vector.print %z : vector<2x3x4xf32>
LLVM lowering replaces these with fully unrolled calls
into a small runtime support library that provides some
basic printing operations (single value, opening closing
bracket, comma, newline).
PiperOrigin-RevId: 286230325
Diffstat (limited to 'mlir/lib/Dialect/VectorOps')
-rw-r--r-- | mlir/lib/Dialect/VectorOps/VectorOps.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/mlir/lib/Dialect/VectorOps/VectorOps.cpp b/mlir/lib/Dialect/VectorOps/VectorOps.cpp index ff4ff2cb540..4ed0902b292 100644 --- a/mlir/lib/Dialect/VectorOps/VectorOps.cpp +++ b/mlir/lib/Dialect/VectorOps/VectorOps.cpp @@ -1587,6 +1587,23 @@ static LogicalResult verify(CreateMaskOp op) { return success(); } +//===----------------------------------------------------------------------===// +// PrintOp +//===----------------------------------------------------------------------===// + +ParseResult parsePrintOp(OpAsmParser &parser, OperationState &result) { + OpAsmParser::OperandType source; + Type sourceType; + return failure(parser.parseOperand(source) || + parser.parseColonType(sourceType) || + parser.resolveOperand(source, sourceType, result.operands)); +} + +static void print(OpAsmPrinter &p, PrintOp op) { + p << op.getOperationName() << ' ' << *op.source() << " : " + << op.getPrintType(); +} + namespace { // Pattern to rewrite a CreateMaskOp with a ConstantMaskOp. |