From 8dc7f8a7b764c680491dc6e907cb01d952700ab6 Mon Sep 17 00:00:00 2001 From: Alexander Belyaev <pifon@google.com> Date: Fri, 9 Oct 2020 03:44:20 -0700 Subject: [PATCH] [KERNEL_GEN] Make TF op name and MLIR func prefix coincide in *.mlir.tmpl. This make the macro in `unranked_op_gpu_base.h` cleaner. This is also a preparation to simplify it even more. PiperOrigin-RevId: 336264876 Change-Id: Ieef72ceef373d2b48db4e1deabb753846cb692cf --- .../mlir_generated/cwise_op_gpu_base.h | 14 ++-- .../op_definitions/abs.mlir.tmpl | 2 +- .../op_definitions/acos.mlir.tmpl | 2 +- .../op_definitions/acosh.mlir.tmpl | 2 +- .../op_definitions/angle.mlir.tmpl | 2 +- .../op_definitions/asin.mlir.tmpl | 2 +- .../op_definitions/atan.mlir.tmpl | 2 +- .../op_definitions/bias_add.mlir.tmpl | 2 +- .../op_definitions/ceil.mlir.tmpl | 2 +- .../op_definitions/conj.mlir.tmpl | 2 +- .../op_definitions/cos.mlir.tmpl | 2 +- .../op_definitions/cosh.mlir.tmpl | 2 +- .../op_definitions/digamma.mlir.tmpl | 2 +- .../op_definitions/erf.mlir.tmpl | 2 +- .../op_definitions/erfc.mlir.tmpl | 2 +- .../op_definitions/exp.mlir.tmpl | 2 +- .../op_definitions/expm1.mlir.tmpl | 2 +- .../op_definitions/floor.mlir.tmpl | 2 +- .../op_definitions/imag.mlir.tmpl | 2 +- .../op_definitions/invert.mlir.tmpl | 2 +- .../op_definitions/isfinite.mlir.tmpl | 2 +- .../op_definitions/isinf.mlir.tmpl | 2 +- .../op_definitions/isnan.mlir.tmpl | 2 +- .../op_definitions/lgamma.mlir.tmpl | 2 +- .../op_definitions/log.mlir.tmpl | 2 +- .../op_definitions/log1p.mlir.tmpl | 2 +- .../op_definitions/logicalnot.mlir.tmpl | 2 +- .../op_definitions/neg.mlir.tmpl | 2 +- .../op_definitions/real.mlir.tmpl | 2 +- .../op_definitions/reciprocal.mlir.tmpl | 2 +- .../op_definitions/relu.mlir.tmpl | 2 +- .../op_definitions/rint.mlir.tmpl | 2 +- .../op_definitions/round.mlir.tmpl | 2 +- .../op_definitions/rsqrt.mlir.tmpl | 2 +- .../op_definitions/sigmoid.mlir.tmpl | 2 +- .../op_definitions/sign.mlir.tmpl | 2 +- .../op_definitions/sin.mlir.tmpl | 2 +- .../op_definitions/sinh.mlir.tmpl | 2 +- .../op_definitions/sqrt.mlir.tmpl | 2 +- .../op_definitions/square.mlir.tmpl | 2 +- .../op_definitions/tan.mlir.tmpl | 2 +- .../op_definitions/tanh.mlir.tmpl | 2 +- .../mlir_generated/unranked_op_gpu_abs.cc | 10 +-- .../mlir_generated/unranked_op_gpu_base.h | 68 +++++++++---------- .../mlir_generated/unranked_op_gpu_tanh.cc | 6 +- 45 files changed, 89 insertions(+), 91 deletions(-) diff --git a/tensorflow/core/kernels/mlir_generated/cwise_op_gpu_base.h b/tensorflow/core/kernels/mlir_generated/cwise_op_gpu_base.h index 4905d21c299..995aa5390e4 100644 --- a/tensorflow/core/kernels/mlir_generated/cwise_op_gpu_base.h +++ b/tensorflow/core/kernels/mlir_generated/cwise_op_gpu_base.h @@ -43,14 +43,12 @@ class MlirGeneratedUnaryOp : public OpKernel { absl::Mutex mu_; }; -#define GENERATE_OP_KERNEL_BASE(kernel_name) \ - class MlirGenerated##kernel_name##Op : public MlirGeneratedUnaryOp { \ - public: \ - MlirGenerated##kernel_name##Op(OpKernelConstruction* ctx, \ - absl::Span<const uint8_t> cubin_data) \ - : MlirGeneratedUnaryOp(ctx, \ - absl::AsciiStrToLower(#kernel_name "_kernel"), \ - cubin_data) {} \ +#define GENERATE_OP_KERNEL_BASE(kernel_name) \ + class MlirGenerated##kernel_name##Op : public MlirGeneratedUnaryOp { \ + public: \ + MlirGenerated##kernel_name##Op(OpKernelConstruction* ctx, \ + absl::Span<const uint8_t> cubin_data) \ + : MlirGeneratedUnaryOp(ctx, #kernel_name "_kernel", cubin_data) {} \ }; #define GENERATE_OP_KERNEL_FOR(kernel_name, data_type) \ diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/abs.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/abs.mlir.tmpl index 53f468a2d10..c0dcd77a9e7 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/abs.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/abs.mlir.tmpl @@ -1,4 +1,4 @@ -func @abs_elem_type(%arg0: tensor<*xelem_type>) +func @Abs_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Abs"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/acos.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/acos.mlir.tmpl index ccd83e44c42..4727685d597 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/acos.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/acos.mlir.tmpl @@ -1,4 +1,4 @@ -func @acos_elem_type(%arg0: tensor<*xelem_type>) +func @Acos_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Acos"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/acosh.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/acosh.mlir.tmpl index f3d124922ff..7d2fc844f7d 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/acosh.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/acosh.mlir.tmpl @@ -1,4 +1,4 @@ -func @acosh_elem_type(%arg0: tensor<*xelem_type>) +func @Acosh_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Acosh"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/angle.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/angle.mlir.tmpl index 1047cb59f31..8605741dfea 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/angle.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/angle.mlir.tmpl @@ -1,4 +1,4 @@ -func @angle(%arg0: tensor<?xcomplex<elem_type>>) -> tensor<?xelem_type> { +func @Angle(%arg0: tensor<?xcomplex<elem_type>>) -> tensor<?xelem_type> { %0 = "tf.Angle"(%arg0) : (tensor<?xcomplex<elem_type>>) -> tensor<?xelem_type> return %0 : tensor<?xelem_type> } diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/asin.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/asin.mlir.tmpl index dc474a8be04..741ca1b145c 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/asin.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/asin.mlir.tmpl @@ -1,4 +1,4 @@ -func @asin(%arg0: tensor<?xelem_type>) -> tensor<?xelem_type> { +func @Asin(%arg0: tensor<?xelem_type>) -> tensor<?xelem_type> { %0 = "tf.Asin"(%arg0) : (tensor<?xelem_type>) -> tensor<?xelem_type> return %0 : tensor<?xelem_type> } diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/atan.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/atan.mlir.tmpl index f2e7b7db547..80e22f38dbe 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/atan.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/atan.mlir.tmpl @@ -1,4 +1,4 @@ -func @atan(%arg0: tensor<?xelem_type>) -> tensor<?xelem_type> { +func @Atan(%arg0: tensor<?xelem_type>) -> tensor<?xelem_type> { %0 = "tf.Atan"(%arg0) : (tensor<?xelem_type>) -> tensor<?xelem_type> return %0 : tensor<?xelem_type> } diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/bias_add.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/bias_add.mlir.tmpl index ade93e6cb32..210df66516c 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/bias_add.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/bias_add.mlir.tmpl @@ -1,4 +1,4 @@ -func @bias_add(%arg0: tensor<?x?xelem_type>, %arg1: tensor<?xelem_type>) +func @BiasAdd(%arg0: tensor<?x?xelem_type>, %arg1: tensor<?xelem_type>) -> tensor<?x?xelem_type> { %0 = "tf.BiasAdd"(%arg0, %arg1) : (tensor<?x?xelem_type>, tensor<?xelem_type>) -> tensor<?x?xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/ceil.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/ceil.mlir.tmpl index ad6afb67aaf..8eac1b6a602 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/ceil.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/ceil.mlir.tmpl @@ -1,4 +1,4 @@ -func @ceil_elem_type(%arg0: tensor<*xelem_type>) +func @Ceil_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Ceil"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/conj.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/conj.mlir.tmpl index bec84e1d544..963a0740c6f 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/conj.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/conj.mlir.tmpl @@ -1,4 +1,4 @@ -func @conj(%arg0: tensor<?xelem_type>) -> tensor<?xelem_type> { +func @Conj(%arg0: tensor<?xelem_type>) -> tensor<?xelem_type> { %0 = "tf.Conj"(%arg0) : (tensor<?xelem_type>) -> tensor<?xelem_type> return %0 : tensor<?xelem_type> } diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/cos.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/cos.mlir.tmpl index 58b0cd53f31..297cc82e2b0 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/cos.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/cos.mlir.tmpl @@ -1,4 +1,4 @@ -func @cos_elem_type(%arg0: tensor<*xelem_type>) +func @Cos_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Cos"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/cosh.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/cosh.mlir.tmpl index ad47d2cf6f4..937e8d21ee6 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/cosh.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/cosh.mlir.tmpl @@ -1,4 +1,4 @@ -func @cosh_elem_type(%arg0: tensor<*xelem_type>) +func @Cosh_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Cosh"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/digamma.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/digamma.mlir.tmpl index 9b8f8084ae2..3a14e107a51 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/digamma.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/digamma.mlir.tmpl @@ -1,4 +1,4 @@ -func @digamma_elem_type(%arg0: tensor<*xelem_type>) +func @Digamma_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Digamma"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/erf.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/erf.mlir.tmpl index 53a9ef7215a..3299dedf434 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/erf.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/erf.mlir.tmpl @@ -1,4 +1,4 @@ -func @erf_elem_type(%arg0: tensor<*xelem_type>) +func @Erf_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Erf"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/erfc.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/erfc.mlir.tmpl index 41e3e3df75e..f42cf6da336 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/erfc.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/erfc.mlir.tmpl @@ -1,4 +1,4 @@ -func @erfc_elem_type(%arg0: tensor<*xelem_type>) +func @Erfc_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Erfc"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/exp.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/exp.mlir.tmpl index 53cc8f8a7a1..e9725c8b174 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/exp.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/exp.mlir.tmpl @@ -1,4 +1,4 @@ -func @exp_elem_type(%arg0: tensor<*xelem_type>) +func @Exp_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Exp"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/expm1.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/expm1.mlir.tmpl index 83a1a83a647..36abfa3e019 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/expm1.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/expm1.mlir.tmpl @@ -1,4 +1,4 @@ -func @expm1_elem_type(%arg0: tensor<*xelem_type>) +func @Expm1_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Expm1"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/floor.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/floor.mlir.tmpl index 8d9a17aad2d..fcd5ab74f5b 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/floor.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/floor.mlir.tmpl @@ -1,4 +1,4 @@ -func @floor_elem_type(%arg0: tensor<*xelem_type>) +func @Floor_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Floor"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/imag.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/imag.mlir.tmpl index f71a7cf1847..c68c85a798c 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/imag.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/imag.mlir.tmpl @@ -1,4 +1,4 @@ -func @imag(%arg0: tensor<?xcomplex<elem_type>>) -> tensor<?xelem_type> { +func @Imag(%arg0: tensor<?xcomplex<elem_type>>) -> tensor<?xelem_type> { %0 = "tf.Imag"(%arg0) : (tensor<?xcomplex<elem_type>>) -> tensor<?xelem_type> return %0 : tensor<?xelem_type> } diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/invert.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/invert.mlir.tmpl index 0418e84ac0f..28287d34832 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/invert.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/invert.mlir.tmpl @@ -1,4 +1,4 @@ -func @invert_elem_type(%arg0: tensor<*xelem_type>) +func @Invert_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Invert"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/isfinite.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/isfinite.mlir.tmpl index a178b828214..73784adec09 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/isfinite.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/isfinite.mlir.tmpl @@ -1,4 +1,4 @@ -func @isfinite_elem_type(%arg0: tensor<*xelem_type>) +func @Isfinite_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xi1> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.IsFinite"(%arg0) : (tensor<*xelem_type>) -> tensor<*xi1> return %0 : tensor<*xi1> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/isinf.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/isinf.mlir.tmpl index 22d5c092b9d..b8477acca4e 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/isinf.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/isinf.mlir.tmpl @@ -1,4 +1,4 @@ -func @isinf_elem_type(%arg0: tensor<*xelem_type>) +func @Isinf_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.IsInf"(%arg0) : (tensor<*xelem_type>) -> tensor<*xi1> return %0 : tensor<*xi1> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/isnan.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/isnan.mlir.tmpl index 492b58a81d1..ac0c09d22d4 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/isnan.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/isnan.mlir.tmpl @@ -1,4 +1,4 @@ -func @isnan_elem_type(%arg0: tensor<*xelem_type>) +func @Isnan_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.IsNan"(%arg0) : (tensor<*xelem_type>) -> tensor<*xi1> return %0 : tensor<*xi1> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/lgamma.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/lgamma.mlir.tmpl index 4ee86fd1416..ac3e44db23f 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/lgamma.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/lgamma.mlir.tmpl @@ -1,4 +1,4 @@ -func @lgamma_elem_type(%arg0: tensor<*xelem_type>) +func @Lgamma_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Lgamma"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/log.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/log.mlir.tmpl index fa7e383afdc..639e7ed5ffe 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/log.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/log.mlir.tmpl @@ -1,4 +1,4 @@ -func @log_elem_type(%arg0: tensor<*xelem_type>) +func @Log_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Log"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/log1p.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/log1p.mlir.tmpl index ccf383db12d..6604d5f763a 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/log1p.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/log1p.mlir.tmpl @@ -1,4 +1,4 @@ -func @log1p_elem_type(%arg0: tensor<*xelem_type>) +func @Log1p_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Log1p"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/logicalnot.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/logicalnot.mlir.tmpl index cc3ce64a837..74750fd4749 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/logicalnot.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/logicalnot.mlir.tmpl @@ -1,4 +1,4 @@ -func @logicalnot_elem_type(%arg0: tensor<*xelem_type>) +func @Logicalnot_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.LogicalNot"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/neg.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/neg.mlir.tmpl index ab59f504867..fbf0d4fbfb5 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/neg.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/neg.mlir.tmpl @@ -1,4 +1,4 @@ -func @neg_elem_type(%arg0: tensor<*xelem_type>) +func @Neg_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Neg"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/real.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/real.mlir.tmpl index 0a96472bda9..600fbe563b8 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/real.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/real.mlir.tmpl @@ -1,4 +1,4 @@ -func @real(%arg0: tensor<?xcomplex<elem_type>>) -> tensor<?xelem_type> { +func @Real(%arg0: tensor<?xcomplex<elem_type>>) -> tensor<?xelem_type> { %0 = "tf.Real"(%arg0) : (tensor<?xcomplex<elem_type>>) -> tensor<?xelem_type> return %0 : tensor<?xelem_type> } diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/reciprocal.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/reciprocal.mlir.tmpl index 5772993bb97..9548f4b2bc2 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/reciprocal.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/reciprocal.mlir.tmpl @@ -1,4 +1,4 @@ -func @reciprocal_elem_type(%arg0: tensor<*xelem_type>) +func @Reciprocal_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Reciprocal"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/relu.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/relu.mlir.tmpl index 9910935b739..4aaacf33df0 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/relu.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/relu.mlir.tmpl @@ -1,4 +1,4 @@ -func @relu_elem_type(%arg0: tensor<*xelem_type>) +func @Relu_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Relu"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/rint.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/rint.mlir.tmpl index eb4440e41c6..174ebc2210e 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/rint.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/rint.mlir.tmpl @@ -1,4 +1,4 @@ -func @rint_elem_type(%arg0: tensor<*xelem_type>) +func @Rint_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Rint"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/round.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/round.mlir.tmpl index caba6b7061a..a5d9b79841a 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/round.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/round.mlir.tmpl @@ -1,4 +1,4 @@ -func @round_elem_type(%arg0: tensor<*xelem_type>) +func @Round_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Round"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/rsqrt.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/rsqrt.mlir.tmpl index 50e21ae98a2..e2a3bf8a5df 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/rsqrt.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/rsqrt.mlir.tmpl @@ -1,4 +1,4 @@ -func @rsqrt_elem_type(%arg0: tensor<*xelem_type>) +func @Rsqrt_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Rsqrt"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/sigmoid.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/sigmoid.mlir.tmpl index aa97f8be0fb..7969fffdbce 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/sigmoid.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/sigmoid.mlir.tmpl @@ -1,4 +1,4 @@ -func @sigmoid_elem_type(%arg0: tensor<*xelem_type>) +func @Sigmoid_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Sigmoid"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/sign.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/sign.mlir.tmpl index 3b304d185bf..8642c8b0b3e 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/sign.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/sign.mlir.tmpl @@ -1,4 +1,4 @@ -func @sign_elem_type(%arg0: tensor<*xelem_type>) +func @Sign_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Sign"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/sin.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/sin.mlir.tmpl index fff4a866924..0e739740f93 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/sin.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/sin.mlir.tmpl @@ -1,4 +1,4 @@ -func @sin(%arg0: tensor<?xelem_type>) -> tensor<?xelem_type> { +func @Sin(%arg0: tensor<?xelem_type>) -> tensor<?xelem_type> { %0 = "tf.Sin"(%arg0) : (tensor<?xelem_type>) -> tensor<?xelem_type> return %0 : tensor<?xelem_type> } diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/sinh.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/sinh.mlir.tmpl index 2811902ea27..4b110bae313 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/sinh.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/sinh.mlir.tmpl @@ -1,4 +1,4 @@ -func @sinh_elem_type(%arg0: tensor<*xelem_type>) +func @Sinh_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Sinh"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/sqrt.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/sqrt.mlir.tmpl index 9f04efa640d..2a2c1ce1d05 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/sqrt.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/sqrt.mlir.tmpl @@ -1,4 +1,4 @@ -func @sqrt_elem_type(%arg0: tensor<*xelem_type>) +func @Sqrt_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Sqrt"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/square.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/square.mlir.tmpl index da6dcb5741b..45bdc13e182 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/square.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/square.mlir.tmpl @@ -1,4 +1,4 @@ -func @square_elem_type(%arg0: tensor<*xelem_type>) +func @Square_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Square"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/tan.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/tan.mlir.tmpl index 6503ce8f1d1..1913e755b36 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/tan.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/tan.mlir.tmpl @@ -1,4 +1,4 @@ -func @tan_elem_type(%arg0: tensor<*xelem_type>) +func @Tan_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Tan"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/op_definitions/tanh.mlir.tmpl b/tensorflow/core/kernels/mlir_generated/op_definitions/tanh.mlir.tmpl index cf692f9f2db..694e4ce10a4 100644 --- a/tensorflow/core/kernels/mlir_generated/op_definitions/tanh.mlir.tmpl +++ b/tensorflow/core/kernels/mlir_generated/op_definitions/tanh.mlir.tmpl @@ -1,4 +1,4 @@ -func @tanh_elem_type(%arg0: tensor<*xelem_type>) +func @Tanh_elem_type(%arg0: tensor<*xelem_type>) -> tensor<*xelem_type> attributes {tf_entry, llvm.emit_c_interface} { %0 = "tf.Tanh"(%arg0) : (tensor<*xelem_type>) -> tensor<*xelem_type> return %0 : tensor<*xelem_type> diff --git a/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_abs.cc b/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_abs.cc index 27eb8028893..586d73171f6 100644 --- a/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_abs.cc +++ b/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_abs.cc @@ -18,10 +18,10 @@ limitations under the License. namespace tensorflow { -REGISTER_AND_GENERATE_KERNEL(Abs, DT_HALF, abs_f16, Eigen::half); -REGISTER_AND_GENERATE_KERNEL(Abs, DT_FLOAT, abs_f32, float); -REGISTER_AND_GENERATE_KERNEL(Abs, DT_DOUBLE, abs_f64, double); -REGISTER_AND_GENERATE_KERNEL(Abs, DT_INT32, abs_i32, int32); -REGISTER_AND_GENERATE_KERNEL(Abs, DT_INT64, abs_i64, int64); +REGISTER_AND_GENERATE_KERNEL(Abs, f16, DT_HALF, Eigen::half); +REGISTER_AND_GENERATE_KERNEL(Abs, f32, DT_FLOAT, float); +REGISTER_AND_GENERATE_KERNEL(Abs, f64, DT_DOUBLE, double); +REGISTER_AND_GENERATE_KERNEL(Abs, i32, DT_INT32, int32); +REGISTER_AND_GENERATE_KERNEL(Abs, i64, DT_INT64, int64); } // namespace tensorflow diff --git a/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_base.h b/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_base.h index 7b3399c96da..457658948ed 100644 --- a/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_base.h +++ b/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_base.h @@ -72,45 +72,45 @@ Tensor ConvertDescriptorToTensor( return tensor; } -#define MLIR_FUNCTION(mlir_func) _mlir_ciface_##mlir_func +#define MLIR_FUNCTION(tf_op, mlir_type) _mlir_ciface_##tf_op##_##mlir_type // Generates a class derived from OpKernel with Compute function that converts // input tensors to unranked memref descriptors and calls mlir-generated // unranked kernel. The outputs are converted back to tensors using // MlirTensorBuffer to take ownership of pre-allocated memory. -#define REGISTER_AND_GENERATE_KERNEL(tf_op, tf_data_type, mlir_func, \ - data_type) \ - extern "C" ::UnrankedMemRefType<data_type> MLIR_FUNCTION(mlir_func)( \ - tensorflow::OpKernelContext * ctx, \ - ::UnrankedMemRefType<data_type> * arg); \ - \ - namespace { \ - class MlirUnranked##tf_op##mlir_func##Op : public OpKernel { \ - public: \ - MlirUnranked##tf_op##mlir_func##Op(OpKernelConstruction* ctx) \ - : OpKernel(ctx) {} \ - \ - void Compute(OpKernelContext* ctx) override { \ - const Tensor& input = ctx->input(0); \ - \ - auto input_desc = ConvertTensorToDescriptor<data_type>(input); \ - auto result_desc = MLIR_FUNCTION(mlir_func)(ctx, &input_desc); \ - free(input_desc.descriptor); \ - \ - tensorflow::AllocatorAttributes attrs; \ - auto* allocator = ctx->get_allocator(attrs); \ - \ - Tensor result_tensor = ConvertDescriptorToTensor<data_type>( \ - result_desc, tf_data_type, allocator); \ - free(result_desc.descriptor); \ - ctx->set_output(0, result_tensor); \ - } \ - }; \ - } \ - \ - REGISTER_KERNEL_BUILDER( \ - Name(#tf_op).Device(DEVICE_GPU).TypeConstraint<data_type>("T"), \ - MlirUnranked##tf_op##mlir_func##Op); +#define REGISTER_AND_GENERATE_KERNEL(tf_op, mlir_type, tf_data_type, \ + data_type) \ + extern "C" ::UnrankedMemRefType<data_type> MLIR_FUNCTION(tf_op, mlir_type)( \ + tensorflow::OpKernelContext * ctx, \ + ::UnrankedMemRefType<data_type> * arg); \ + \ + namespace { \ + class MlirUnranked##tf_op##mlir_type##Op : public OpKernel { \ + public: \ + MlirUnranked##tf_op##mlir_type##Op(OpKernelConstruction* ctx) \ + : OpKernel(ctx) {} \ + \ + void Compute(OpKernelContext* ctx) override { \ + const Tensor& input = ctx->input(0); \ + \ + auto input_desc = ConvertTensorToDescriptor<data_type>(input); \ + auto result_desc = MLIR_FUNCTION(tf_op, mlir_type)(ctx, &input_desc); \ + free(input_desc.descriptor); \ + \ + tensorflow::AllocatorAttributes attrs; \ + auto* allocator = ctx->get_allocator(attrs); \ + \ + Tensor result_tensor = ConvertDescriptorToTensor<data_type>( \ + result_desc, tf_data_type, allocator); \ + free(result_desc.descriptor); \ + ctx->set_output(0, result_tensor); \ + } \ + }; \ + } \ + \ + REGISTER_KERNEL_BUILDER( \ + Name(#tf_op).Device(DEVICE_GPU).TypeConstraint<data_type>("T"), \ + MlirUnranked##tf_op##mlir_type##Op); } // namespace tensorflow diff --git a/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_tanh.cc b/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_tanh.cc index 131bd7163b8..206c0756e9c 100644 --- a/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_tanh.cc +++ b/tensorflow/core/kernels/mlir_generated/unranked_op_gpu_tanh.cc @@ -18,8 +18,8 @@ limitations under the License. namespace tensorflow { -REGISTER_AND_GENERATE_KERNEL(Tanh, DT_HALF, tanh_f16, Eigen::half); -REGISTER_AND_GENERATE_KERNEL(Tanh, DT_FLOAT, tanh_f32, float); -REGISTER_AND_GENERATE_KERNEL(Tanh, DT_DOUBLE, tanh_f64, double); +REGISTER_AND_GENERATE_KERNEL(Tanh, f16, DT_HALF, Eigen::half); +REGISTER_AND_GENERATE_KERNEL(Tanh, f32, DT_FLOAT, float); +REGISTER_AND_GENERATE_KERNEL(Tanh, f64, DT_DOUBLE, double); } // namespace tensorflow