[VectorOps] Add vector.print definition, with lowering support
authorAart Bik <ajcbik@google.com>
Wed, 18 Dec 2019 19:23:16 +0000 (11:23 -0800)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Wed, 18 Dec 2019 19:31:34 +0000 (11:31 -0800)
commitd9b500d3bb151bfb96073b0d66e8338a5c0186d5
treefd385a47ba52f5c4f274882f50cad6aecb3a2d0b
parentc169852fc5c5efb4b01600477da00e6ef2517231
[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
mlir/include/mlir/Dialect/VectorOps/VectorOps.td
mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
mlir/lib/Dialect/VectorOps/VectorOps.cpp
mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
mlir/test/Dialect/VectorOps/invalid.mlir
mlir/test/Dialect/VectorOps/ops.mlir
mlir/test/mlir-cpu-runner/include/mlir_runner_utils.h
mlir/test/mlir-cpu-runner/mlir_runner_utils.cpp