Simplify macros for Kernel Generator.

We can use the existing mapping from the DT_* enum values to data types. This
makes it possible to pass just the enum values to the macros. However it
requires to use these enum values instead of the mlir type names, and this in
turn requires renaming the generated functions and classes to use these DT_*
names as well.

PiperOrigin-RevId: 357688132
Change-Id: I7ebc619292d7e4b5a96f156e9225cd15230b7169
diff --git a/tensorflow/core/kernels/mlir_generated/base_cpu_op.h b/tensorflow/core/kernels/mlir_generated/base_cpu_op.h
index 5a3a592..8eaf227 100644
--- a/tensorflow/core/kernels/mlir_generated/base_cpu_op.h
+++ b/tensorflow/core/kernels/mlir_generated/base_cpu_op.h
@@ -20,50 +20,39 @@
 
 namespace tensorflow {
 
-#define GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(tf_op, mlir_type, data_type) \
-  GENERATE_AND_REGISTER_UNARY_KERNEL(tf_op, CPU, mlir_type, data_type)
+#define GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(tf_op, input_type) \
+  GENERATE_AND_REGISTER_UNARY_KERNEL(tf_op, CPU, input_type)
 
-#define GENERATE_UNARY_CPU_KERNEL(tf_op, mlir_type, data_type) \
-  GENERATE_UNARY_KERNEL(tf_op, CPU, mlir_type, data_type)
+#define GENERATE_UNARY_CPU_KERNEL(tf_op, input_type) \
+  GENERATE_UNARY_KERNEL(tf_op, CPU, input_type)
 
-#define GENERATE_UNARY_CPU_KERNEL2(tf_op, mlir_type, mlir_output_type, \
-                                   result_data_type, input_data_type)  \
-  GENERATE_UNARY_KERNEL2(tf_op, CPU, mlir_type, mlir_output_type,      \
-                         result_data_type, input_data_type)
+#define GENERATE_UNARY_CPU_KERNEL2(tf_op, input_type, output_type) \
+  GENERATE_UNARY_KERNEL2(tf_op, CPU, input_type, output_type)
 
-#define REGISTER_ALIASED_CPU_KERNEL(tf_op, mlir_op, mlir_type,              \
-                                    mlir_output_type, data_type)            \
-  REGISTER_ALIASED_KERNEL(tf_op, mlir_op, CPU, mlir_type, mlir_output_type, \
-                          data_type)
+#define REGISTER_ALIASED_CPU_KERNEL(tf_op, mlir_op, input_type, output_type) \
+  REGISTER_ALIASED_KERNEL(tf_op, mlir_op, CPU, input_type, output_type)
 
-#define REGISTER_CPU_KERNEL(tf_op, mlir_type, mlir_output_type, data_type) \
-  REGISTER_KERNEL(tf_op, CPU, mlir_type, mlir_output_type, data_type)
+#define REGISTER_CPU_KERNEL(tf_op, input_type, output_type) \
+  REGISTER_KERNEL(tf_op, CPU, input_type, output_type)
 
-#define REGISTER_COMPLEX_CPU_KERNEL(tf_op, mlir_type, mlir_output_type,       \
-                                    data_type, input_data_type)               \
-  REGISTER_COMPLEX_KERNEL(tf_op, CPU, mlir_type, mlir_output_type, data_type, \
-                          input_data_type)
+#define REGISTER_COMPLEX_CPU_KERNEL(tf_op, input_type, output_type) \
+  REGISTER_COMPLEX_KERNEL(tf_op, CPU, input_type, output_type)
 
-#define REGISTER_CPU_KERNEL_NO_TYPE_CONSTRAINT(tf_op, mlir_type, \
-                                               mlir_output_type) \
-  REGISTER_KERNEL_NO_TYPE_CONSTRAINT(tf_op, CPU, mlir_type, mlir_output_type)
+#define REGISTER_CPU_KERNEL_NO_TYPE_CONSTRAINT(tf_op, input_type) \
+  REGISTER_KERNEL_NO_TYPE_CONSTRAINT(tf_op, CPU, input_type)
 
-#define GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(tf_op, mlir_type, data_type) \
-  GENERATE_AND_REGISTER_BINARY_KERNEL(tf_op, CPU, mlir_type, data_type)
+#define GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(tf_op, input_type) \
+  GENERATE_AND_REGISTER_BINARY_KERNEL(tf_op, CPU, input_type)
 
-#define GENERATE_AND_REGISTER_BINARY_CPU_KERNEL2(                          \
-    tf_op, mlir_type, mlir_output_type, result_data_type, input_data_type) \
-  GENERATE_AND_REGISTER_BINARY_KERNEL2(tf_op, CPU, mlir_type,              \
-                                       mlir_output_type, result_data_type, \
-                                       input_data_type)
+#define GENERATE_AND_REGISTER_BINARY_CPU_KERNEL2(tf_op, input_type, \
+                                                 output_type)       \
+  GENERATE_AND_REGISTER_BINARY_KERNEL2(tf_op, CPU, input_type, output_type)
 
-#define GENERATE_BINARY_CPU_KERNEL(tf_op, mlir_type, data_type) \
-  GENERATE_BINARY_KERNEL(tf_op, CPU, mlir_type, data_type)
+#define GENERATE_BINARY_CPU_KERNEL(tf_op, input_type) \
+  GENERATE_BINARY_KERNEL(tf_op, CPU, input_type)
 
-#define GENERATE_BINARY_CPU_KERNEL2(tf_op, mlir_type, mlir_output_type, \
-                                    result_data_type, input_data_type)  \
-  GENERATE_BINARY_KERNEL2(tf_op, CPU, mlir_type, mlir_output_type,      \
-                          result_data_type, input_data_type)
+#define GENERATE_BINARY_CPU_KERNEL2(tf_op, input_type, output_type) \
+  GENERATE_BINARY_KERNEL2(tf_op, CPU, input_type, output_type)
 
 }  // namespace tensorflow
 
diff --git a/tensorflow/core/kernels/mlir_generated/base_gpu_op.h b/tensorflow/core/kernels/mlir_generated/base_gpu_op.h
index 51c98d7..ea67c83 100644
--- a/tensorflow/core/kernels/mlir_generated/base_gpu_op.h
+++ b/tensorflow/core/kernels/mlir_generated/base_gpu_op.h
@@ -20,50 +20,39 @@
 
 namespace tensorflow {
 
-#define GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(tf_op, mlir_type, data_type) \
-  GENERATE_AND_REGISTER_UNARY_KERNEL(tf_op, GPU, mlir_type, data_type)
+#define GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(tf_op, input_type) \
+  GENERATE_AND_REGISTER_UNARY_KERNEL(tf_op, GPU, input_type)
 
-#define GENERATE_UNARY_GPU_KERNEL(tf_op, mlir_type, data_type) \
-  GENERATE_UNARY_KERNEL(tf_op, GPU, mlir_type, data_type)
+#define GENERATE_UNARY_GPU_KERNEL(tf_op, input_type) \
+  GENERATE_UNARY_KERNEL(tf_op, GPU, input_type)
 
-#define GENERATE_UNARY_GPU_KERNEL2(tf_op, mlir_type, mlir_output_type, \
-                                   result_data_type, input_data_type)  \
-  GENERATE_UNARY_KERNEL2(tf_op, GPU, mlir_type, mlir_output_type,      \
-                         result_data_type, input_data_type)
+#define GENERATE_UNARY_GPU_KERNEL2(tf_op, input_type, output_type) \
+  GENERATE_UNARY_KERNEL2(tf_op, GPU, input_type, output_type)
 
-#define REGISTER_ALIASED_GPU_KERNEL(tf_op, mlir_op, mlir_type,              \
-                                    mlir_output_type, data_type)            \
-  REGISTER_ALIASED_KERNEL(tf_op, mlir_op, GPU, mlir_type, mlir_output_type, \
-                          data_type)
+#define REGISTER_ALIASED_GPU_KERNEL(tf_op, mlir_op, input_type, output_type) \
+  REGISTER_ALIASED_KERNEL(tf_op, mlir_op, GPU, input_type, output_type)
 
-#define REGISTER_GPU_KERNEL(tf_op, mlir_type, mlir_output_type, data_type) \
-  REGISTER_KERNEL(tf_op, GPU, mlir_type, mlir_output_type, data_type)
+#define REGISTER_GPU_KERNEL(tf_op, input_type, output_type) \
+  REGISTER_KERNEL(tf_op, GPU, input_type, output_type)
 
-#define REGISTER_COMPLEX_GPU_KERNEL(tf_op, mlir_type, mlir_output_type,       \
-                                    data_type, input_data_type)               \
-  REGISTER_COMPLEX_KERNEL(tf_op, GPU, mlir_type, mlir_output_type, data_type, \
-                          input_data_type)
+#define REGISTER_COMPLEX_GPU_KERNEL(tf_op, input_type, output_type) \
+  REGISTER_COMPLEX_KERNEL(tf_op, GPU, input_type, output_type)
 
-#define REGISTER_GPU_KERNEL_NO_TYPE_CONSTRAINT(tf_op, mlir_type, \
-                                               mlir_output_type) \
-  REGISTER_KERNEL_NO_TYPE_CONSTRAINT(tf_op, GPU, mlir_type, mlir_output_type)
+#define REGISTER_GPU_KERNEL_NO_TYPE_CONSTRAINT(tf_op, input_type) \
+  REGISTER_KERNEL_NO_TYPE_CONSTRAINT(tf_op, GPU, input_type)
 
-#define GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(tf_op, mlir_type, data_type) \
-  GENERATE_AND_REGISTER_BINARY_KERNEL(tf_op, GPU, mlir_type, data_type)
+#define GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(tf_op, input_type) \
+  GENERATE_AND_REGISTER_BINARY_KERNEL(tf_op, GPU, input_type)
 
-#define GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(                          \
-    tf_op, mlir_type, mlir_output_type, result_data_type, input_data_type) \
-  GENERATE_AND_REGISTER_BINARY_KERNEL2(tf_op, GPU, mlir_type,              \
-                                       mlir_output_type, result_data_type, \
-                                       input_data_type)
+#define GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(tf_op, input_type, \
+                                                 output_type)       \
+  GENERATE_AND_REGISTER_BINARY_KERNEL2(tf_op, GPU, input_type, output_type)
 
-#define GENERATE_BINARY_GPU_KERNEL(tf_op, mlir_type, data_type) \
-  GENERATE_BINARY_KERNEL(tf_op, GPU, mlir_type, data_type)
+#define GENERATE_BINARY_GPU_KERNEL(tf_op, input_type) \
+  GENERATE_BINARY_KERNEL(tf_op, GPU, input_type)
 
-#define GENERATE_BINARY_GPU_KERNEL2(tf_op, mlir_type, mlir_output_type, \
-                                    result_data_type, input_data_type)  \
-  GENERATE_BINARY_KERNEL2(tf_op, GPU, mlir_type, mlir_output_type,      \
-                          result_data_type, input_data_type)
+#define GENERATE_BINARY_GPU_KERNEL2(tf_op, input_type, output_type) \
+  GENERATE_BINARY_KERNEL2(tf_op, GPU, input_type, output_type)
 
 }  // namespace tensorflow
 
diff --git a/tensorflow/core/kernels/mlir_generated/base_op.h b/tensorflow/core/kernels/mlir_generated/base_op.h
index 7166671..6e7e9cb 100644
--- a/tensorflow/core/kernels/mlir_generated/base_op.h
+++ b/tensorflow/core/kernels/mlir_generated/base_op.h
@@ -143,117 +143,112 @@
   }
 };
 
-#define MLIR_FUNCTION(tf_op, platform, mlir_type, mlir_output_type) \
-  _mlir_ciface_##tf_op##_##platform##_##mlir_type##_##mlir_output_type
+#define MLIR_FUNCTION(tf_op, platform, input_type, output_type) \
+  _mlir_ciface_##tf_op##_##platform##_##input_type##_##output_type
 
-#define MLIR_OP(tf_op, platform, mlir_type, mlir_output_type) \
-  Mlir##tf_op##platform##mlir_type##mlir_output_type##Op
+#define MLIR_OP(tf_op, platform, input_type, output_type) \
+  Mlir##tf_op##platform##input_type##output_type##Op
 
-#define REGISTER_ALIASED_KERNEL(tf_op, mlir_op, platform, mlir_type,         \
-                                mlir_output_type, data_type)                 \
-  REGISTER_KERNEL_BUILDER(                                                   \
-      Name(#tf_op).Device(DEVICE_##platform).TypeConstraint<data_type>("T"), \
-      MLIR_OP(mlir_op, platform, mlir_type, mlir_output_type));
+#define REGISTER_ALIASED_KERNEL(tf_op, mlir_op, platform, input_type,      \
+                                output_type)                               \
+  REGISTER_KERNEL_BUILDER(                                                 \
+      Name(#tf_op)                                                         \
+          .Device(DEVICE_##platform)                                       \
+          .TypeConstraint<typename EnumToDataType<input_type>::Type>("T"), \
+      MLIR_OP(mlir_op, platform, input_type, output_type));
 
-#define REGISTER_KERNEL(tf_op, platform, mlir_type, mlir_output_type,          \
-                        data_type)                                             \
-  REGISTER_ALIASED_KERNEL(tf_op, tf_op, platform, mlir_type, mlir_output_type, \
-                          data_type)
+#define REGISTER_KERNEL(tf_op, platform, input_type, output_type) \
+  REGISTER_ALIASED_KERNEL(tf_op, tf_op, platform, input_type, output_type)
 
-#define REGISTER_COMPLEX_KERNEL(tf_op, platform, mlir_type, mlir_output_type, \
-                                data_type, input_data_type)                   \
-  REGISTER_KERNEL_BUILDER(                                                    \
-      Name(#tf_op)                                                            \
-          .Device(DEVICE_##platform)                                          \
-          .TypeConstraint<input_data_type>("T")                               \
-          .TypeConstraint<data_type>("Tout"),                                 \
-      MLIR_OP(tf_op, platform, mlir_type, mlir_output_type));
+#define REGISTER_COMPLEX_KERNEL(tf_op, platform, input_type, output_type)      \
+  REGISTER_KERNEL_BUILDER(                                                     \
+      Name(#tf_op)                                                             \
+          .Device(DEVICE_##platform)                                           \
+          .TypeConstraint<typename EnumToDataType<input_type>::Type>("T")      \
+          .TypeConstraint<typename EnumToDataType<output_type>::Type>("Tout"), \
+      MLIR_OP(tf_op, platform, input_type, output_type));
 
-#define REGISTER_KERNEL_NO_TYPE_CONSTRAINT(tf_op, platform, mlir_type, \
-                                           mlir_output_type)           \
-  REGISTER_KERNEL_BUILDER(                                             \
-      Name(#tf_op).Device(DEVICE_##platform),                          \
-      MLIR_OP(tf_op, platform, mlir_type, mlir_output_type));
+#define REGISTER_KERNEL_NO_TYPE_CONSTRAINT(tf_op, platform, input_type) \
+  REGISTER_KERNEL_BUILDER(Name(#tf_op).Device(DEVICE_##platform),       \
+                          MLIR_OP(tf_op, platform, input_type, input_type));
 
 // 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 GENERATE_AND_REGISTER_BINARY_KERNEL(tf_op, platform, mlir_type, \
-                                            data_type)                  \
-  GENERATE_BINARY_KERNEL(tf_op, platform, mlir_type, data_type)         \
-  REGISTER_KERNEL(tf_op, platform, mlir_type, mlir_type, data_type)
+#define GENERATE_AND_REGISTER_BINARY_KERNEL(tf_op, platform, input_type) \
+  GENERATE_BINARY_KERNEL(tf_op, platform, input_type)                    \
+  REGISTER_KERNEL(tf_op, platform, input_type, input_type)
 
-#define GENERATE_AND_REGISTER_BINARY_KERNEL2(                           \
-    tf_op, platform, mlir_type, mlir_output_type, result_data_type,     \
-    input_data_type)                                                    \
-  GENERATE_BINARY_KERNEL2(tf_op, platform, mlir_type, mlir_output_type, \
-                          result_data_type, input_data_type)            \
-  REGISTER_KERNEL(tf_op, platform, mlir_type, mlir_output_type, input_data_type)
+#define GENERATE_AND_REGISTER_BINARY_KERNEL2(tf_op, platform, input_type, \
+                                             output_type)                 \
+  GENERATE_BINARY_KERNEL2(tf_op, platform, input_type, output_type)       \
+  REGISTER_KERNEL(tf_op, platform, input_type, output_type)
 
-#define GENERATE_BINARY_KERNEL(tf_op, platform, mlir_type, data_type)       \
-  GENERATE_BINARY_KERNEL2(tf_op, platform, mlir_type, mlir_type, data_type, \
-                          data_type)
+#define GENERATE_BINARY_KERNEL(tf_op, platform, input_type) \
+  GENERATE_BINARY_KERNEL2(tf_op, platform, input_type, input_type)
 
-#define GENERATE_BINARY_KERNEL2(tf_op, platform, mlir_type, mlir_output_type, \
-                                result_data_type, input_data_type)            \
-  extern "C" UntypedUnrankedMemRefType MLIR_FUNCTION(                         \
-      tf_op, platform, mlir_type, mlir_output_type)(                          \
-      tensorflow::OpKernelContext * ctx,                                      \
-      const ::UnrankedMemRefType<input_data_type>* arg1,                      \
-      const ::UnrankedMemRefType<input_data_type>* arg2);                     \
-                                                                              \
-  namespace {                                                                 \
-  class MLIR_OP(tf_op, platform, mlir_type, mlir_output_type)                 \
-      : public MlirOp<DataTypeToEnum<result_data_type>::value,                \
-                      result_data_type,                                       \
-                      MLIR_OP(tf_op, platform, mlir_type, mlir_output_type),  \
-                      input_data_type> {                                      \
-   public:                                                                    \
-    using MlirOp::MlirOp;                                                     \
-                                                                              \
-    static ::UnrankedMemRefType<result_data_type> Invoke(                     \
-        OpKernelContext* ctx,                                                 \
-        llvm::ArrayRef<::UnrankedMemRefType<input_data_type>> args) {         \
-      return ConvertToTyped<result_data_type>(                                \
-          MLIR_FUNCTION(tf_op, platform, mlir_type, mlir_output_type)(        \
-              ctx, &args[0], &args[1]));                                      \
-    }                                                                         \
-  };                                                                          \
+#define GENERATE_BINARY_KERNEL2(tf_op, platform, input_type, output_type)      \
+  extern "C" UntypedUnrankedMemRefType MLIR_FUNCTION(tf_op, platform,          \
+                                                     input_type, output_type)( \
+      tensorflow::OpKernelContext * ctx,                                       \
+      const ::UnrankedMemRefType<typename EnumToDataType<input_type>::Type>*   \
+          arg1,                                                                \
+      const ::UnrankedMemRefType<typename EnumToDataType<input_type>::Type>*   \
+          arg2);                                                               \
+                                                                               \
+  namespace {                                                                  \
+  class MLIR_OP(tf_op, platform, input_type, output_type)                      \
+      : public MlirOp<output_type, typename EnumToDataType<output_type>::Type, \
+                      MLIR_OP(tf_op, platform, input_type, output_type),       \
+                      typename EnumToDataType<input_type>::Type> {             \
+   public:                                                                     \
+    using MlirOp::MlirOp;                                                      \
+    using ResultDataType = EnumToDataType<output_type>::Type;                  \
+                                                                               \
+    static ::UnrankedMemRefType<ResultDataType> Invoke(                        \
+        OpKernelContext* ctx,                                                  \
+        llvm::ArrayRef<                                                        \
+            ::UnrankedMemRefType<typename EnumToDataType<input_type>::Type>>   \
+            args) {                                                            \
+      return ConvertToTyped<ResultDataType>(MLIR_FUNCTION(                     \
+          tf_op, platform, input_type, output_type)(ctx, &args[0], &args[1])); \
+    }                                                                          \
+  };                                                                           \
   }
 
-#define GENERATE_AND_REGISTER_UNARY_KERNEL(tf_op, platform, mlir_type, \
-                                           data_type)                  \
-  GENERATE_UNARY_KERNEL(tf_op, platform, mlir_type, data_type)         \
-  REGISTER_KERNEL(tf_op, platform, mlir_type, mlir_type, data_type)
+#define GENERATE_AND_REGISTER_UNARY_KERNEL(tf_op, platform, input_type) \
+  GENERATE_UNARY_KERNEL(tf_op, platform, input_type)                    \
+  REGISTER_KERNEL(tf_op, platform, input_type, input_type)
 
-#define GENERATE_UNARY_KERNEL(tf_op, platform, mlir_type, data_type)       \
-  GENERATE_UNARY_KERNEL2(tf_op, platform, mlir_type, mlir_type, data_type, \
-                         data_type)
+#define GENERATE_UNARY_KERNEL(tf_op, platform, input_type) \
+  GENERATE_UNARY_KERNEL2(tf_op, platform, input_type, input_type)
 
-#define GENERATE_UNARY_KERNEL2(tf_op, platform, mlir_type, mlir_output_type, \
-                               result_data_type, input_data_type)            \
-  extern "C" UntypedUnrankedMemRefType MLIR_FUNCTION(                        \
-      tf_op, platform, mlir_type, mlir_output_type)(                         \
-      tensorflow::OpKernelContext * ctx,                                     \
-      const ::UnrankedMemRefType<input_data_type>* arg);                     \
-                                                                             \
-  namespace {                                                                \
-  class MLIR_OP(tf_op, platform, mlir_type, mlir_output_type)                \
-      : public MlirOp<DataTypeToEnum<result_data_type>::value,               \
-                      result_data_type,                                      \
-                      MLIR_OP(tf_op, platform, mlir_type, mlir_output_type), \
-                      input_data_type> {                                     \
-   public:                                                                   \
-    using MlirOp::MlirOp;                                                    \
-                                                                             \
-    static ::UnrankedMemRefType<result_data_type> Invoke(                    \
-        OpKernelContext* ctx,                                                \
-        llvm::ArrayRef<::UnrankedMemRefType<input_data_type>> args) {        \
-      return ConvertToTyped<result_data_type>(MLIR_FUNCTION(                 \
-          tf_op, platform, mlir_type, mlir_output_type)(ctx, &args[0]));     \
-    }                                                                        \
-  };                                                                         \
+#define GENERATE_UNARY_KERNEL2(tf_op, platform, input_type, output_type)       \
+  extern "C" UntypedUnrankedMemRefType MLIR_FUNCTION(tf_op, platform,          \
+                                                     input_type, output_type)( \
+      tensorflow::OpKernelContext * ctx,                                       \
+      const ::UnrankedMemRefType<typename EnumToDataType<input_type>::Type>*   \
+          arg);                                                                \
+                                                                               \
+  namespace {                                                                  \
+  class MLIR_OP(tf_op, platform, input_type, output_type)                      \
+      : public MlirOp<output_type, typename EnumToDataType<output_type>::Type, \
+                      MLIR_OP(tf_op, platform, input_type, output_type),       \
+                      typename EnumToDataType<input_type>::Type> {             \
+   public:                                                                     \
+    using MlirOp::MlirOp;                                                      \
+    using ResultDataType = EnumToDataType<output_type>::Type;                  \
+                                                                               \
+    static ::UnrankedMemRefType<ResultDataType> Invoke(                        \
+        OpKernelContext* ctx,                                                  \
+        llvm::ArrayRef<                                                        \
+            ::UnrankedMemRefType<typename EnumToDataType<input_type>::Type>>   \
+            args) {                                                            \
+      return ConvertToTyped<ResultDataType>(MLIR_FUNCTION(                     \
+          tf_op, platform, input_type, output_type)(ctx, &args[0]));           \
+    }                                                                          \
+  };                                                                           \
   }
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/build_defs.bzl b/tensorflow/core/kernels/mlir_generated/build_defs.bzl
index a096525..951f329 100644
--- a/tensorflow/core/kernels/mlir_generated/build_defs.bzl
+++ b/tensorflow/core/kernels/mlir_generated/build_defs.bzl
@@ -35,6 +35,19 @@
     "c128": "complex<f64>",
 }
 
+type_to_tf_dtype = {
+    "i1": "DT_BOOL",
+    "i8": "DT_INT8",
+    "i16": "DT_INT16",
+    "i32": "DT_INT32",
+    "i64": "DT_INT64",
+    "f16": "DT_HALF",
+    "f32": "DT_FLOAT",
+    "f64": "DT_DOUBLE",
+    "c64": "DT_COMPLEX64",
+    "c128": "DT_COMPLEX128",
+}
+
 def _get_mlir_type(type):
     """Return the mlir type corresponding to 'type'"""
     if type in type_to_mlir:
@@ -54,9 +67,9 @@
               "sed 's/output_type/%s/g' > %s")) % (
                 ctx.file.template.path,
                 ctx.attr.platform.upper(),
-                ctx.attr.type,
+                type_to_tf_dtype[ctx.attr.type],
                 mlir_type,
-                ctx.attr.output_type,
+                type_to_tf_dtype[ctx.attr.output_type],
                 mlir_output_type,
                 ctx.outputs.out.path,
             )
diff --git a/tensorflow/core/kernels/mlir_generated/cpu_op_abs.cc b/tensorflow/core/kernels/mlir_generated/cpu_op_abs.cc
index 44b64dd..69ba49d 100644
--- a/tensorflow/core/kernels/mlir_generated/cpu_op_abs.cc
+++ b/tensorflow/core/kernels/mlir_generated/cpu_op_abs.cc
@@ -18,13 +18,13 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, f64, double);
-GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, f32, float);
+GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, DT_DOUBLE);
+GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, DT_FLOAT);
 
-GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, i8, int8);
-GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, i16, int16);
-GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, i32, int32);
-GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, i64, int64);
+GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, DT_INT8);
+GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, DT_INT16);
+GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, DT_INT32);
+GENERATE_AND_REGISTER_UNARY_CPU_KERNEL(Abs, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/cpu_op_add.cc b/tensorflow/core/kernels/mlir_generated/cpu_op_add.cc
index 9f4e4ac..7df2e59 100644
--- a/tensorflow/core/kernels/mlir_generated/cpu_op_add.cc
+++ b/tensorflow/core/kernels/mlir_generated/cpu_op_add.cc
@@ -17,10 +17,10 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, f32, float);
-GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, f64, double);
-GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, i32, int32);
-GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, i64, int64);
+GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, DT_DOUBLE);
+GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, DT_INT32);
+GENERATE_AND_REGISTER_BINARY_CPU_KERNEL(AddV2, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_abs.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_abs.cc
index 6a88b92..9a75ce2 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_abs.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_abs.cc
@@ -18,10 +18,10 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Abs, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Abs, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Abs, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Abs, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Abs, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Abs, DT_DOUBLE);
 // TODO(b/25387198): Add an int32 kernel.
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Abs, i64, int64);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Abs, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_acos.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_acos.cc
index 171e0ff..ef5ec94 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_acos.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_acos.cc
@@ -18,7 +18,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Acos, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Acos, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Acos, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Acos, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_acosh.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_acosh.cc
index b46260a..ed990b8 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_acosh.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_acosh.cc
@@ -18,7 +18,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Acosh, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Acosh, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Acosh, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Acosh, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_add.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_add.cc
index dddefce..c946168 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_add.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_add.cc
@@ -17,15 +17,15 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(AddV2, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(AddV2, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(AddV2, f64, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(AddV2, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(AddV2, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(AddV2, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(AddV2, DT_DOUBLE);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(AddV2, DT_INT64);
 
 // Add is the same as AddV2 except for strings, which we do not support on gpu.
-REGISTER_ALIASED_GPU_KERNEL(Add, AddV2, f16, f16, Eigen::half);
-REGISTER_ALIASED_GPU_KERNEL(Add, AddV2, f32, f32, float);
-REGISTER_ALIASED_GPU_KERNEL(Add, AddV2, f64, f64, double);
-REGISTER_ALIASED_GPU_KERNEL(Add, AddV2, i64, i64, int64);
+REGISTER_ALIASED_GPU_KERNEL(Add, AddV2, DT_HALF, DT_HALF);
+REGISTER_ALIASED_GPU_KERNEL(Add, AddV2, DT_FLOAT, DT_FLOAT);
+REGISTER_ALIASED_GPU_KERNEL(Add, AddV2, DT_DOUBLE, DT_DOUBLE);
+REGISTER_ALIASED_GPU_KERNEL(Add, AddV2, DT_INT64, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_angle.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_angle.cc
index 86a5159..55da943 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_angle.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_angle.cc
@@ -20,9 +20,9 @@
 
 namespace tensorflow {
 
-GENERATE_UNARY_GPU_KERNEL2(Angle, c64, f32, float, std::complex<float>);
-REGISTER_COMPLEX_GPU_KERNEL(Angle, c64, f32, float, std::complex<float>);
-GENERATE_UNARY_GPU_KERNEL2(Angle, c128, f64, double, std::complex<double>);
-REGISTER_COMPLEX_GPU_KERNEL(Angle, c128, f64, double, std::complex<double>);
+GENERATE_UNARY_GPU_KERNEL2(Angle, DT_COMPLEX64, DT_FLOAT);
+REGISTER_COMPLEX_GPU_KERNEL(Angle, DT_COMPLEX64, DT_FLOAT);
+GENERATE_UNARY_GPU_KERNEL2(Angle, DT_COMPLEX128, DT_DOUBLE);
+REGISTER_COMPLEX_GPU_KERNEL(Angle, DT_COMPLEX128, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_asin.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_asin.cc
index 8cb54b8..953c59d 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_asin.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_asin.cc
@@ -18,7 +18,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Asin, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Asin, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Asin, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Asin, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_asinh.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_asinh.cc
index 3136e02..3b9e7bb 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_asinh.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_asinh.cc
@@ -18,7 +18,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Asinh, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Asinh, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Asinh, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Asinh, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_atan.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_atan.cc
index d20c198..132d75a 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_atan.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_atan.cc
@@ -18,7 +18,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Atan, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Atan, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Atan, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Atan, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_atan2.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_atan2.cc
index abdc624..22414a8 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_atan2.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_atan2.cc
@@ -17,7 +17,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Atan2, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Atan2, f64, double);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Atan2, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Atan2, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_atanh.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_atanh.cc
index 7e3f45e..e0ea7c9 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_atanh.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_atanh.cc
@@ -18,7 +18,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Atanh, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Atanh, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Atanh, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Atanh, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_and.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_and.cc
index 89a1c57..71e6929 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_and.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_and.cc
@@ -17,15 +17,15 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, i8, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, i16, int16);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, i32, int32);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, DT_INT8);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, DT_INT16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, DT_INT32);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, DT_INT64);
 
 // TODO(b/172804967): Enable once fixed.
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, ui8, uint8);
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, ui16, uint16);
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, ui32, uint32);
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, ui64, uint64);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, DT_UINT8);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, DT_UINT16);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, DT_UINT32);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseAnd, DT_UINT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_or.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_or.cc
index 426ae6a..791896e 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_or.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_or.cc
@@ -17,15 +17,15 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, i8, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, i16, int16);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, i32, int32);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, DT_INT8);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, DT_INT16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, DT_INT32);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, DT_INT64);
 
 // TODO(b/172804967): Enable once fixed.
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, ui8, uint8);
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, ui16, uint16);
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, ui32, uint32);
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, ui64, uint64);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, DT_UINT8);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, DT_UINT16);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, DT_UINT32);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseOr, DT_UINT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_xor.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_xor.cc
index a52d0e0..593b539 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_xor.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_bitwise_xor.cc
@@ -17,15 +17,15 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, i8, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, i16, int16);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, i32, int32);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, DT_INT8);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, DT_INT16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, DT_INT32);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, DT_INT64);
 
 // TODO(b/172804967): Enable once fixed.
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, ui8, uint8);
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, ui16, uint16);
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, ui32, uint32);
-// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, ui64, uint64);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, DT_UINT8);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, DT_UINT16);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, DT_UINT32);
+// GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(BitwiseXor, DT_UINT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_cast.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_cast.cc
index ffeedee..d410224 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_cast.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_cast.cc
@@ -18,35 +18,33 @@
 
 namespace tensorflow {
 
-#define CURRY_TYPES(FN, arg0, arg1) \
-  FN(arg0, i1, bool, arg1);         \
-  FN(arg0, i8, int8, arg1);         \
-  FN(arg0, i16, int16, arg1);       \
-  FN(arg0, i32, int32, arg1);       \
-  FN(arg0, i64, int64, arg1);       \
-  FN(arg0, f16, Eigen::half, arg1); \
-  FN(arg0, f32, float, arg1);       \
-  FN(arg0, f64, double, arg1)
+#define CURRY_TYPES(FN, arg0) \
+  FN(arg0, DT_BOOL);          \
+  FN(arg0, DT_INT8);          \
+  FN(arg0, DT_INT16);         \
+  FN(arg0, DT_INT32);         \
+  FN(arg0, DT_INT64);         \
+  FN(arg0, DT_HALF);          \
+  FN(arg0, DT_FLOAT);         \
+  FN(arg0, DT_DOUBLE)
 
-#define GENERATE_AND_REGISTER_CAST_GPU(mlir_input_type, mlir_output_type, \
-                                       result_data_type, input_data_type) \
-  GENERATE_UNARY_GPU_KERNEL2(Cast, mlir_input_type, mlir_output_type,     \
-                             result_data_type, input_data_type);          \
-  REGISTER_KERNEL_BUILDER(                                                \
-      Name("Cast")                                                        \
-          .TypeConstraint<input_data_type>("SrcT")                        \
-          .TypeConstraint<result_data_type>("DstT")                       \
-          .Device(DEVICE_GPU),                                            \
-      MLIR_OP(Cast, GPU, mlir_input_type, mlir_output_type))
+#define GENERATE_AND_REGISTER_CAST_GPU(input_type, output_type)               \
+  GENERATE_UNARY_GPU_KERNEL2(Cast, input_type, output_type)                   \
+  REGISTER_KERNEL_BUILDER(                                                    \
+      Name("Cast")                                                            \
+          .TypeConstraint<typename EnumToDataType<input_type>::Type>("SrcT")  \
+          .TypeConstraint<typename EnumToDataType<output_type>::Type>("DstT") \
+          .Device(DEVICE_GPU),                                                \
+      MLIR_OP(Cast, GPU, input_type, output_type))
 
-CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, i1, bool)
-CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, i8, int8)
-CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, i16, int16)
-CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, i32, int32)
-CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, i64, int64)
-CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, f16, Eigen::half)
-CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, f32, float)
-CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, f64, double)
+CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, DT_BOOL)
+CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, DT_INT8)
+CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, DT_INT16)
+CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, DT_INT32)
+CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, DT_INT64)
+CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, DT_HALF)
+CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, DT_FLOAT)
+CURRY_TYPES(GENERATE_AND_REGISTER_CAST_GPU, DT_DOUBLE)
 
 #undef REGISTER_CAST_GPU
 #undef CURRY_TYPES
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_ceil.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_ceil.cc
index a77860d..fd223cb 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_ceil.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_ceil.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Ceil, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Ceil, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Ceil, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Ceil, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Ceil, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Ceil, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_complex.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_complex.cc
index bda49d1..36526a3 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_complex.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_complex.cc
@@ -20,9 +20,9 @@
 
 namespace tensorflow {
 
-GENERATE_BINARY_GPU_KERNEL2(Complex, f32, c64, std::complex<float>, float);
-REGISTER_COMPLEX_GPU_KERNEL(Complex, f32, c64, std::complex<float>, float);
-GENERATE_BINARY_GPU_KERNEL2(Complex, f64, c128, std::complex<double>, double);
-REGISTER_COMPLEX_GPU_KERNEL(Complex, f64, c128, std::complex<double>, double);
+GENERATE_BINARY_GPU_KERNEL2(Complex, DT_FLOAT, DT_COMPLEX64);
+REGISTER_COMPLEX_GPU_KERNEL(Complex, DT_FLOAT, DT_COMPLEX64);
+GENERATE_BINARY_GPU_KERNEL2(Complex, DT_DOUBLE, DT_COMPLEX128);
+REGISTER_COMPLEX_GPU_KERNEL(Complex, DT_DOUBLE, DT_COMPLEX128);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_complex_abs.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_complex_abs.cc
index da2745f..69f45d5 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_complex_abs.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_complex_abs.cc
@@ -20,10 +20,9 @@
 
 namespace tensorflow {
 
-GENERATE_UNARY_GPU_KERNEL2(ComplexAbs, c64, f32, float, std::complex<float>);
-REGISTER_COMPLEX_GPU_KERNEL(ComplexAbs, c64, f32, float, std::complex<float>);
-GENERATE_UNARY_GPU_KERNEL2(ComplexAbs, c128, f64, double, std::complex<double>);
-REGISTER_COMPLEX_GPU_KERNEL(ComplexAbs, c128, f64, double,
-                            std::complex<double>);
+GENERATE_UNARY_GPU_KERNEL2(ComplexAbs, DT_COMPLEX64, DT_FLOAT);
+REGISTER_COMPLEX_GPU_KERNEL(ComplexAbs, DT_COMPLEX64, DT_FLOAT);
+GENERATE_UNARY_GPU_KERNEL2(ComplexAbs, DT_COMPLEX128, DT_DOUBLE);
+REGISTER_COMPLEX_GPU_KERNEL(ComplexAbs, DT_COMPLEX128, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_conj.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_conj.cc
index 90b4e56..755cc49 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_conj.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_conj.cc
@@ -20,7 +20,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Conj, c64, std::complex<float>);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Conj, c128, std::complex<double>);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Conj, DT_COMPLEX64);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Conj, DT_COMPLEX128);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_cos.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_cos.cc
index c6ff657..1a716a7 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_cos.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_cos.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cos, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cos, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cos, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cos, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cos, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cos, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_cosh.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_cosh.cc
index b791912..3f94cc6 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_cosh.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_cosh.cc
@@ -18,7 +18,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cosh, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cosh, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cosh, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Cosh, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_digamma.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_digamma.cc
index 5d31a14..bcba969 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_digamma.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_digamma.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Digamma, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Digamma, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Digamma, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Digamma, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Digamma, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Digamma, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_div.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_div.cc
index b5fdc15..abd38d7 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_div.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_div.cc
@@ -18,17 +18,17 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, f64, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, i16, int16);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, DT_DOUBLE);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, DT_INT16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Div, DT_INT64);
 
-REGISTER_ALIASED_GPU_KERNEL(RealDiv, Div, f16, f16, Eigen::half)
-REGISTER_ALIASED_GPU_KERNEL(RealDiv, Div, f32, f32, float)
-REGISTER_ALIASED_GPU_KERNEL(RealDiv, Div, f64, f64, double)
+REGISTER_ALIASED_GPU_KERNEL(RealDiv, Div, DT_HALF, DT_HALF);
+REGISTER_ALIASED_GPU_KERNEL(RealDiv, Div, DT_FLOAT, DT_FLOAT);
+REGISTER_ALIASED_GPU_KERNEL(RealDiv, Div, DT_DOUBLE, DT_DOUBLE);
 
-REGISTER_ALIASED_GPU_KERNEL(TruncateDiv, Div, i16, i16, int16)
-REGISTER_ALIASED_GPU_KERNEL(TruncateDiv, Div, i64, i64, int64)
+REGISTER_ALIASED_GPU_KERNEL(TruncateDiv, Div, DT_INT16, DT_INT16);
+REGISTER_ALIASED_GPU_KERNEL(TruncateDiv, Div, DT_INT64, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_equal.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_equal.cc
index d758a03..88f1d50 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_equal.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_equal.cc
@@ -20,13 +20,13 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, f16, i1, bool, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, f32, i1, bool, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, f64, i1, bool, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, i1, i1, bool, bool);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, i8, i1, bool, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, i16, i1, bool, int16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, DT_HALF, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, DT_FLOAT, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, DT_DOUBLE, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, DT_BOOL, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, DT_INT8, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, DT_INT16, DT_BOOL);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, i64, i1, bool, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Equal, DT_INT64, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_erf.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_erf.cc
index 000defb..9c2cb44 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_erf.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_erf.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erf, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erf, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erf, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erf, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erf, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erf, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_erfc.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_erfc.cc
index 4506797..2d5059c 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_erfc.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_erfc.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erfc, f64, double);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erfc, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erfc, f16, Eigen::half);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erfc, DT_DOUBLE);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erfc, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Erfc, DT_HALF);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_exp.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_exp.cc
index f77079c..ab40a8d 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_exp.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_exp.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Exp, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Exp, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Exp, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Exp, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Exp, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Exp, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_expm1.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_expm1.cc
index 196a7f3..ce05e0f 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_expm1.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_expm1.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Expm1, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Expm1, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Expm1, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Expm1, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Expm1, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Expm1, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_floor.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_floor.cc
index 3a2c190..4e60987 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_floor.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_floor.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Floor, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Floor, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Floor, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Floor, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Floor, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Floor, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_floor_div.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_floor_div.cc
index 37f4752..db0df1f 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_floor_div.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_floor_div.cc
@@ -17,8 +17,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(FloorDiv, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(FloorDiv, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(FloorDiv, f64, double);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(FloorDiv, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(FloorDiv, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(FloorDiv, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_greater.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_greater.cc
index 3fe453a..83f3347 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_greater.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_greater.cc
@@ -20,12 +20,12 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, f16, i1, bool, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, f32, i1, bool, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, f64, i1, bool, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, i8, i1, bool, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, i16, i1, bool, int16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, DT_HALF, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, DT_FLOAT, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, DT_DOUBLE, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, DT_INT8, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, DT_INT16, DT_BOOL);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, i64, i1, bool, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Greater, DT_INT64, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_greater_equal.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_greater_equal.cc
index c7eaac5..cd082b5 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_greater_equal.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_greater_equal.cc
@@ -20,13 +20,12 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, f16, i1, bool,
-                                         Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, f32, i1, bool, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, f64, i1, bool, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, i8, i1, bool, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, i16, i1, bool, int16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, DT_HALF, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, DT_FLOAT, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, DT_DOUBLE, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, DT_INT8, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, DT_INT16, DT_BOOL);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, i64, i1, bool, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(GreaterEqual, DT_INT64, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_imag.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_imag.cc
index 7e863cb..1c0f210 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_imag.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_imag.cc
@@ -20,9 +20,9 @@
 
 namespace tensorflow {
 
-GENERATE_UNARY_GPU_KERNEL2(Imag, c64, f32, float, std::complex<float>);
-REGISTER_COMPLEX_GPU_KERNEL(Imag, c64, f32, float, std::complex<float>);
-GENERATE_UNARY_GPU_KERNEL2(Imag, c128, f64, double, std::complex<double>);
-REGISTER_COMPLEX_GPU_KERNEL(Imag, c128, f64, double, std::complex<double>);
+GENERATE_UNARY_GPU_KERNEL2(Imag, DT_COMPLEX64, DT_FLOAT);
+REGISTER_COMPLEX_GPU_KERNEL(Imag, DT_COMPLEX64, DT_FLOAT);
+GENERATE_UNARY_GPU_KERNEL2(Imag, DT_COMPLEX128, DT_DOUBLE);
+REGISTER_COMPLEX_GPU_KERNEL(Imag, DT_COMPLEX128, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_invert.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_invert.cc
index a1f505d..3c4f4ac 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_invert.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_invert.cc
@@ -20,9 +20,9 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Invert, i8, int8);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Invert, i16, int16);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Invert, i32, int32);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Invert, i64, int64);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Invert, DT_INT8);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Invert, DT_INT16);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Invert, DT_INT32);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Invert, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_is_finite.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_is_finite.cc
index c1f95d0..7f4c4e1 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_is_finite.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_is_finite.cc
@@ -20,11 +20,11 @@
 
 namespace tensorflow {
 
-GENERATE_UNARY_GPU_KERNEL2(IsFinite, f16, i1, bool, Eigen::half);
-REGISTER_GPU_KERNEL(IsFinite, f16, i1, Eigen::half);
-GENERATE_UNARY_GPU_KERNEL2(IsFinite, f32, i1, bool, float);
-REGISTER_GPU_KERNEL(IsFinite, f32, i1, float);
-GENERATE_UNARY_GPU_KERNEL2(IsFinite, f64, i1, bool, double);
-REGISTER_GPU_KERNEL(IsFinite, f64, i1, double);
+GENERATE_UNARY_GPU_KERNEL2(IsFinite, DT_HALF, DT_BOOL);
+REGISTER_GPU_KERNEL(IsFinite, DT_HALF, DT_BOOL);
+GENERATE_UNARY_GPU_KERNEL2(IsFinite, DT_FLOAT, DT_BOOL);
+REGISTER_GPU_KERNEL(IsFinite, DT_FLOAT, DT_BOOL);
+GENERATE_UNARY_GPU_KERNEL2(IsFinite, DT_DOUBLE, DT_BOOL);
+REGISTER_GPU_KERNEL(IsFinite, DT_DOUBLE, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_is_inf.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_is_inf.cc
index 7b288ad..d5ebdf9 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_is_inf.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_is_inf.cc
@@ -20,11 +20,11 @@
 
 namespace tensorflow {
 
-GENERATE_UNARY_GPU_KERNEL2(IsInf, f16, i1, bool, Eigen::half);
-REGISTER_GPU_KERNEL(IsInf, f16, i1, Eigen::half);
-GENERATE_UNARY_GPU_KERNEL2(IsInf, f32, i1, bool, float);
-REGISTER_GPU_KERNEL(IsInf, f32, i1, float);
-GENERATE_UNARY_GPU_KERNEL2(IsInf, f64, i1, bool, double);
-REGISTER_GPU_KERNEL(IsInf, f64, i1, double);
+GENERATE_UNARY_GPU_KERNEL2(IsInf, DT_HALF, DT_BOOL);
+REGISTER_GPU_KERNEL(IsInf, DT_HALF, DT_BOOL);
+GENERATE_UNARY_GPU_KERNEL2(IsInf, DT_FLOAT, DT_BOOL);
+REGISTER_GPU_KERNEL(IsInf, DT_FLOAT, DT_BOOL);
+GENERATE_UNARY_GPU_KERNEL2(IsInf, DT_DOUBLE, DT_BOOL);
+REGISTER_GPU_KERNEL(IsInf, DT_DOUBLE, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_is_nan.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_is_nan.cc
index 7dfd4d3..8da39e8 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_is_nan.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_is_nan.cc
@@ -20,11 +20,11 @@
 
 namespace tensorflow {
 
-GENERATE_UNARY_GPU_KERNEL2(IsNan, f16, i1, bool, Eigen::half);
-REGISTER_GPU_KERNEL(IsNan, f16, i1, Eigen::half);
-GENERATE_UNARY_GPU_KERNEL2(IsNan, f32, i1, bool, float);
-REGISTER_GPU_KERNEL(IsNan, f32, i1, float);
-GENERATE_UNARY_GPU_KERNEL2(IsNan, f64, i1, bool, double);
-REGISTER_GPU_KERNEL(IsNan, f64, i1, double);
+GENERATE_UNARY_GPU_KERNEL2(IsNan, DT_HALF, DT_BOOL);
+REGISTER_GPU_KERNEL(IsNan, DT_HALF, DT_BOOL);
+GENERATE_UNARY_GPU_KERNEL2(IsNan, DT_FLOAT, DT_BOOL);
+REGISTER_GPU_KERNEL(IsNan, DT_FLOAT, DT_BOOL);
+GENERATE_UNARY_GPU_KERNEL2(IsNan, DT_DOUBLE, DT_BOOL);
+REGISTER_GPU_KERNEL(IsNan, DT_DOUBLE, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_left_shift.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_left_shift.cc
index fddb4b1..4a0f99a 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_left_shift.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_left_shift.cc
@@ -17,9 +17,9 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(LeftShift, i8, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(LeftShift, i16, int16);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(LeftShift, i32, int32);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(LeftShift, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(LeftShift, DT_INT8);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(LeftShift, DT_INT16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(LeftShift, DT_INT32);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(LeftShift, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_less.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_less.cc
index 155d3ae..c4b72b1 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_less.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_less.cc
@@ -20,12 +20,12 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, f16, i1, bool, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, f32, i1, bool, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, f64, i1, bool, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, i8, i1, bool, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, i16, i1, bool, int16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, DT_HALF, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, DT_FLOAT, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, DT_DOUBLE, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, DT_INT8, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, DT_INT16, DT_BOOL);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, i64, i1, bool, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(Less, DT_INT64, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_less_equal.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_less_equal.cc
index c6ace34..676225f 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_less_equal.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_less_equal.cc
@@ -20,12 +20,12 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, f16, i1, bool, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, f32, i1, bool, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, f64, i1, bool, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, i8, i1, bool, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, i16, i1, bool, int16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, DT_HALF, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, DT_FLOAT, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, DT_DOUBLE, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, DT_INT8, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, DT_INT16, DT_BOOL);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, i64, i1, bool, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(LessEqual, DT_INT64, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_lgamma.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_lgamma.cc
index 6f18834..855a450 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_lgamma.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_lgamma.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Lgamma, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Lgamma, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Lgamma, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Lgamma, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Lgamma, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Lgamma, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_log.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_log.cc
index aeefb4b..c99ee78 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_log.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_log.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_log1p.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_log1p.cc
index 39c0966..dfe42aa 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_log1p.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_log1p.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log1p, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log1p, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log1p, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log1p, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log1p, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Log1p, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_logical_and.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_logical_and.cc
index e4655e1..d113015 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_logical_and.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_logical_and.cc
@@ -17,9 +17,9 @@
 
 namespace tensorflow {
 
-GENERATE_BINARY_GPU_KERNEL(LogicalAnd, i1, bool);
+GENERATE_BINARY_GPU_KERNEL(LogicalAnd, DT_BOOL);
 // LogicalAnd does not have a "T" attribute because it only works with type
 // bool. So we need to register it without TypeConstraint<bool>("T").
-REGISTER_GPU_KERNEL_NO_TYPE_CONSTRAINT(LogicalAnd, i1, i1);
+REGISTER_GPU_KERNEL_NO_TYPE_CONSTRAINT(LogicalAnd, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_logical_not.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_logical_not.cc
index b69933e..fdce45d 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_logical_not.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_logical_not.cc
@@ -17,9 +17,9 @@
 
 namespace tensorflow {
 
-GENERATE_UNARY_GPU_KERNEL(LogicalNot, i1, bool);
+GENERATE_UNARY_GPU_KERNEL(LogicalNot, DT_BOOL);
 // LogicalNot does not have a "T" attribute because it only works with type
 // bool. So we need to register it without TypeConstraint<bool>("T").
-REGISTER_GPU_KERNEL_NO_TYPE_CONSTRAINT(LogicalNot, i1, i1);
+REGISTER_GPU_KERNEL_NO_TYPE_CONSTRAINT(LogicalNot, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_logical_or.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_logical_or.cc
index 3729f1e..04f5c7a 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_logical_or.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_logical_or.cc
@@ -17,9 +17,9 @@
 
 namespace tensorflow {
 
-GENERATE_BINARY_GPU_KERNEL(LogicalOr, i1, bool);
+GENERATE_BINARY_GPU_KERNEL(LogicalOr, DT_BOOL);
 // LogicalOr does not have a "T" attribute because it only works with type
 // bool. So we need to register it without TypeConstraint<bool>("T").
-REGISTER_GPU_KERNEL_NO_TYPE_CONSTRAINT(LogicalOr, i1, i1);
+REGISTER_GPU_KERNEL_NO_TYPE_CONSTRAINT(LogicalOr, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_maximum.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_maximum.cc
index 8c6be17..3c45821 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_maximum.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_maximum.cc
@@ -18,11 +18,11 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, f64, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, i16, int16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, DT_DOUBLE);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, DT_INT16);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Maximum, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_minimum.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_minimum.cc
index 595b5db..4b57487 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_minimum.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_minimum.cc
@@ -18,11 +18,11 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, f64, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, i16, int16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, DT_DOUBLE);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, DT_INT16);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Minimum, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_mul.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_mul.cc
index b386f57..1cb25ed 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_mul.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_mul.cc
@@ -18,12 +18,12 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, f64, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, i8, int8);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, DT_DOUBLE);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, DT_INT8);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, i16, int16);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, DT_INT16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Mul, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_neg.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_neg.cc
index 9baa4b8..86cea9d 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_neg.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_neg.cc
@@ -18,12 +18,12 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, f64, double);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, i8, int8);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, i16, int16);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, DT_DOUBLE);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, DT_INT8);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, DT_INT16);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, i64, int64);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Neg, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_not_equal.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_not_equal.cc
index 4ec3c4d..7175162 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_not_equal.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_not_equal.cc
@@ -20,13 +20,13 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, f16, i1, bool, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, f32, i1, bool, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, f64, i1, bool, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, i1, i1, bool, bool);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, i8, i1, bool, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, i16, i1, bool, int16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, DT_HALF, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, DT_FLOAT, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, DT_DOUBLE, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, DT_BOOL, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, DT_INT8, DT_BOOL);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, DT_INT16, DT_BOOL);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, i64, i1, bool, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL2(NotEqual, DT_INT64, DT_BOOL);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_pow.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_pow.cc
index 4124dfb..456f81f 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_pow.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_pow.cc
@@ -17,9 +17,9 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Pow, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Pow, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Pow, f64, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Pow, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Pow, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Pow, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Pow, DT_DOUBLE);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Pow, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_real.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_real.cc
index 17f1a90..e46f73f 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_real.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_real.cc
@@ -20,9 +20,9 @@
 
 namespace tensorflow {
 
-GENERATE_UNARY_GPU_KERNEL2(Real, c64, f32, float, std::complex<float>);
-REGISTER_COMPLEX_GPU_KERNEL(Real, c64, f32, float, std::complex<float>);
-GENERATE_UNARY_GPU_KERNEL2(Real, c128, f64, double, std::complex<double>);
-REGISTER_COMPLEX_GPU_KERNEL(Real, c128, f64, double, std::complex<double>);
+GENERATE_UNARY_GPU_KERNEL2(Real, DT_COMPLEX64, DT_FLOAT);
+REGISTER_COMPLEX_GPU_KERNEL(Real, DT_COMPLEX64, DT_FLOAT);
+GENERATE_UNARY_GPU_KERNEL2(Real, DT_COMPLEX128, DT_DOUBLE);
+REGISTER_COMPLEX_GPU_KERNEL(Real, DT_COMPLEX128, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_right_shift.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_right_shift.cc
index 976cc57..659ed57 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_right_shift.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_right_shift.cc
@@ -17,9 +17,9 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(RightShift, i8, int8);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(RightShift, i16, int16);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(RightShift, i32, int32);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(RightShift, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(RightShift, DT_INT8);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(RightShift, DT_INT16);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(RightShift, DT_INT32);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(RightShift, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_rsqrt.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_rsqrt.cc
index 74fcc31..078a8f2 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_rsqrt.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_rsqrt.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Rsqrt, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Rsqrt, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Rsqrt, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Rsqrt, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Rsqrt, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Rsqrt, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_sign.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_sign.cc
index 22baba1..d224214 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_sign.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_sign.cc
@@ -18,11 +18,11 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sign, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sign, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sign, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sign, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sign, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sign, DT_DOUBLE);
 // TODO(b/25387198): We cannot use a regular GPU kernel for int32.
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sign, i64, int64);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sign, DT_INT64);
 // TODO(b/162577610): Register the kernel for complex types and bfloat.
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_sin.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_sin.cc
index 806d7b3..b80c076 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_sin.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_sin.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sin, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sin, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sin, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sin, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sin, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sin, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_sinh.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_sinh.cc
index 2a7b9ff..55c074c 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_sinh.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_sinh.cc
@@ -18,7 +18,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sinh, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sinh, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sinh, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sinh, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_sqrt.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_sqrt.cc
index 17e7bbc..506729f 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_sqrt.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_sqrt.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sqrt, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sqrt, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sqrt, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sqrt, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sqrt, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Sqrt, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_square.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_square.cc
index 45f496f..39938fc 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_square.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_square.cc
@@ -18,9 +18,9 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Square, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Square, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Square, f64, double);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Square, i64, int64);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Square, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Square, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Square, DT_DOUBLE);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Square, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_squared_difference.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_squared_difference.cc
index bcba222..cbb1a93 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_squared_difference.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_squared_difference.cc
@@ -17,9 +17,9 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(SquaredDifference, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(SquaredDifference, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(SquaredDifference, f64, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(SquaredDifference, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(SquaredDifference, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(SquaredDifference, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(SquaredDifference, DT_DOUBLE);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(SquaredDifference, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_sub.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_sub.cc
index 29f5a50..098b129 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_sub.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_sub.cc
@@ -18,9 +18,9 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Sub, f16, Eigen::half);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Sub, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Sub, f64, double);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Sub, i64, int64);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Sub, DT_HALF);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Sub, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Sub, DT_DOUBLE);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Sub, DT_INT64);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_tan.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_tan.cc
index a04936e..6643745 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_tan.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_tan.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tan, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tan, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tan, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tan, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tan, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tan, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_tanh.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_tanh.cc
index e80ceb3..0839242 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_tanh.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_tanh.cc
@@ -18,8 +18,8 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tanh, f16, Eigen::half);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tanh, f32, float);
-GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tanh, f64, double);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tanh, DT_HALF);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tanh, DT_FLOAT);
+GENERATE_AND_REGISTER_UNARY_GPU_KERNEL(Tanh, DT_DOUBLE);
 
 }  // namespace tensorflow
diff --git a/tensorflow/core/kernels/mlir_generated/gpu_op_zeta.cc b/tensorflow/core/kernels/mlir_generated/gpu_op_zeta.cc
index b11464a..104d50b 100644
--- a/tensorflow/core/kernels/mlir_generated/gpu_op_zeta.cc
+++ b/tensorflow/core/kernels/mlir_generated/gpu_op_zeta.cc
@@ -17,7 +17,7 @@
 
 namespace tensorflow {
 
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Zeta, f32, float);
-GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Zeta, f64, double);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Zeta, DT_FLOAT);
+GENERATE_AND_REGISTER_BINARY_GPU_KERNEL(Zeta, DT_DOUBLE);
 
 }  // namespace tensorflow