summaryrefslogtreecommitdiffstats
path: root/mlir/test/Dialect
diff options
context:
space:
mode:
authorAart Bik <ajcbik@google.com>2019-12-18 11:23:16 -0800
committerA. Unique TensorFlower <gardener@tensorflow.org>2019-12-18 11:31:34 -0800
commitd9b500d3bb151bfb96073b0d66e8338a5c0186d5 (patch)
treefd385a47ba52f5c4f274882f50cad6aecb3a2d0b /mlir/test/Dialect
parentc169852fc5c5efb4b01600477da00e6ef2517231 (diff)
downloadbcm5719-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/test/Dialect')
-rw-r--r--mlir/test/Dialect/VectorOps/invalid.mlir8
-rw-r--r--mlir/test/Dialect/VectorOps/ops.mlir7
2 files changed, 15 insertions, 0 deletions
diff --git a/mlir/test/Dialect/VectorOps/invalid.mlir b/mlir/test/Dialect/VectorOps/invalid.mlir
index 3c2dd6075c8..7e8fce93294 100644
--- a/mlir/test/Dialect/VectorOps/invalid.mlir
+++ b/mlir/test/Dialect/VectorOps/invalid.mlir
@@ -818,3 +818,11 @@ func @insert_slices_invalid_tuple_element_type(%arg0 : tuple<vector<2x2xf32>, ve
: tuple<vector<2x2xf32>, vector<4x2xf32>> into vector<4x2xf32>
return
}
+
+// -----
+
+func @print_no_result(%arg0 : f32) -> i32 {
+ // expected-error@+1 {{cannot name an operation with no results}}
+ %0 = vector.print %arg0 : f32
+ return %0
+}
diff --git a/mlir/test/Dialect/VectorOps/ops.mlir b/mlir/test/Dialect/VectorOps/ops.mlir
index f1db45e2716..b43c675893e 100644
--- a/mlir/test/Dialect/VectorOps/ops.mlir
+++ b/mlir/test/Dialect/VectorOps/ops.mlir
@@ -198,3 +198,10 @@ func @insert_slices(%arg0 : tuple<vector<2x2xf32>, vector<2x2xf32>>)
: tuple<vector<2x2xf32>, vector<2x2xf32>> into vector<4x2xf32>
return %0 : vector<4x2xf32>
}
+
+// CHECK-LABEL: @vector_print
+func @vector_print(%arg0: vector<8x4xf32>) {
+ // CHECK: vector.print %{{.*}} : vector<8x4xf32>
+ vector.print %arg0 : vector<8x4xf32>
+ return
+}
OpenPOWER on IntegriCloud