Revert "Add support from `tensor.from_elements` to `flow` with multiple elements (#18034)" (#18039)

This reverts commit cc60fffa5b832c854bbd30dd31bac3889baa5985.

It may be causing issues:
```
model.mlir:20:11: error: 'stream.async.dispatch' op has invalid Read access range [0 to 288 for 288] of resource %4#0 with size 192; length > resource size
    %16 = torch.operator "onnx.ReduceMean"(%15, %13) : (!torch.vtensor<[?,?,?],f32>, !torch.vtensor<[1],si64>) -> !torch.vtensor<[?,?,1],f32> 
          ^
model.mlir:20:11: note: see current operation: %16 = "stream.async.dispatch"(%8, %7, %6, %15#0, %8, %7, %6, %1, %4, %1, %1, %0) <{entry_points = [@test_group_normalization_example_expanded$async_dispatch_0::@test_group_normalization_example_expanded$async_dispatch_0_generic_3x2x12_f32], operandSegmentSizes = array<i32: 3, 4, 1, 1, 1, 1, 1>, tied_operands = [-1 : index]}> : (index, index, index, !stream.resource<external>, index, index, index, index, index, index, index, index) -> !stream.resource<transient>


Invoked with:
  cd /runner-root/actions-runner/_work/iree/iree/SHARK-TestSuite/iree_tests/onnx/node/generated/test_group_normalization_example_expanded && iree-compile model.mlir --iree-hal-target-backends=cuda --iree-input-demote-f64-to-f32 -o model_gpu_cuda_t4_.vmfb
```
diff --git a/build_tools/pkgci/external_test_suite/onnx_cpu_llvm_sync.json b/build_tools/pkgci/external_test_suite/onnx_cpu_llvm_sync.json
index 3646f61..8d461e7 100644
--- a/build_tools/pkgci/external_test_suite/onnx_cpu_llvm_sync.json
+++ b/build_tools/pkgci/external_test_suite/onnx_cpu_llvm_sync.json
@@ -86,13 +86,16 @@
     "onnx/node/generated/test_castlike_STRING_to_FLOAT_expanded",
     "onnx/node/generated/test_center_crop_pad_crop",
     "onnx/node/generated/test_center_crop_pad_crop_and_pad",
+    "onnx/node/generated/test_center_crop_pad_crop_and_pad_expanded",
     "onnx/node/generated/test_center_crop_pad_crop_axes_chw",
     "onnx/node/generated/test_center_crop_pad_crop_axes_chw_expanded",
     "onnx/node/generated/test_center_crop_pad_crop_axes_hwc",
     "onnx/node/generated/test_center_crop_pad_crop_axes_hwc_expanded",
+    "onnx/node/generated/test_center_crop_pad_crop_expanded",
     "onnx/node/generated/test_center_crop_pad_crop_negative_axes_hwc",
     "onnx/node/generated/test_center_crop_pad_crop_negative_axes_hwc_expanded",
     "onnx/node/generated/test_center_crop_pad_pad",
+    "onnx/node/generated/test_center_crop_pad_pad_expanded",
     "onnx/node/generated/test_col2im",
     "onnx/node/generated/test_col2im_5d",
     "onnx/node/generated/test_col2im_dilations",
diff --git a/build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json b/build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json
index d2689f5..a41a6e0 100644
--- a/build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json
+++ b/build_tools/pkgci/external_test_suite/onnx_gpu_cuda.json
@@ -92,13 +92,16 @@
     "onnx/node/generated/test_castlike_STRING_to_FLOAT_expanded",
     "onnx/node/generated/test_center_crop_pad_crop",
     "onnx/node/generated/test_center_crop_pad_crop_and_pad",
+    "onnx/node/generated/test_center_crop_pad_crop_and_pad_expanded",
     "onnx/node/generated/test_center_crop_pad_crop_axes_chw",
     "onnx/node/generated/test_center_crop_pad_crop_axes_chw_expanded",
     "onnx/node/generated/test_center_crop_pad_crop_axes_hwc",
     "onnx/node/generated/test_center_crop_pad_crop_axes_hwc_expanded",
+    "onnx/node/generated/test_center_crop_pad_crop_expanded",
     "onnx/node/generated/test_center_crop_pad_crop_negative_axes_hwc",
     "onnx/node/generated/test_center_crop_pad_crop_negative_axes_hwc_expanded",
     "onnx/node/generated/test_center_crop_pad_pad",
+    "onnx/node/generated/test_center_crop_pad_pad_expanded",
     "onnx/node/generated/test_col2im",
     "onnx/node/generated/test_col2im_5d",
     "onnx/node/generated/test_col2im_dilations",
@@ -155,7 +158,9 @@
     "onnx/node/generated/test_gridsample_volumetric_nearest_align_corners_0",
     "onnx/node/generated/test_gridsample_volumetric_nearest_align_corners_1",
     "onnx/node/generated/test_group_normalization_epsilon",
+    "onnx/node/generated/test_group_normalization_epsilon_expanded",
     "onnx/node/generated/test_group_normalization_example",
+    "onnx/node/generated/test_group_normalization_example_expanded",
     "onnx/node/generated/test_gru_batchwise",
     "onnx/node/generated/test_gru_defaults",
     "onnx/node/generated/test_gru_seq_length",
diff --git a/build_tools/pkgci/external_test_suite/onnx_gpu_rocm_rdna3.json b/build_tools/pkgci/external_test_suite/onnx_gpu_rocm_rdna3.json
index 06beb22..c6a9a35 100644
--- a/build_tools/pkgci/external_test_suite/onnx_gpu_rocm_rdna3.json
+++ b/build_tools/pkgci/external_test_suite/onnx_gpu_rocm_rdna3.json
@@ -87,13 +87,16 @@
     "onnx/node/generated/test_castlike_STRING_to_FLOAT_expanded",
     "onnx/node/generated/test_center_crop_pad_crop",
     "onnx/node/generated/test_center_crop_pad_crop_and_pad",
+    "onnx/node/generated/test_center_crop_pad_crop_and_pad_expanded",
     "onnx/node/generated/test_center_crop_pad_crop_axes_chw",
     "onnx/node/generated/test_center_crop_pad_crop_axes_chw_expanded",
     "onnx/node/generated/test_center_crop_pad_crop_axes_hwc",
     "onnx/node/generated/test_center_crop_pad_crop_axes_hwc_expanded",
+    "onnx/node/generated/test_center_crop_pad_crop_expanded",
     "onnx/node/generated/test_center_crop_pad_crop_negative_axes_hwc",
     "onnx/node/generated/test_center_crop_pad_crop_negative_axes_hwc_expanded",
     "onnx/node/generated/test_center_crop_pad_pad",
+    "onnx/node/generated/test_center_crop_pad_pad_expanded",
     "onnx/node/generated/test_col2im",
     "onnx/node/generated/test_col2im_5d",
     "onnx/node/generated/test_col2im_dilations",
@@ -150,7 +153,9 @@
     "onnx/node/generated/test_gridsample_volumetric_nearest_align_corners_0",
     "onnx/node/generated/test_gridsample_volumetric_nearest_align_corners_1",
     "onnx/node/generated/test_group_normalization_epsilon",
+    "onnx/node/generated/test_group_normalization_epsilon_expanded",
     "onnx/node/generated/test_group_normalization_example",
+    "onnx/node/generated/test_group_normalization_example_expanded",
     "onnx/node/generated/test_gru_batchwise",
     "onnx/node/generated/test_gru_defaults",
     "onnx/node/generated/test_gru_seq_length",
diff --git a/build_tools/pkgci/external_test_suite/onnx_gpu_vulkan.json b/build_tools/pkgci/external_test_suite/onnx_gpu_vulkan.json
index bbdeac9..bf88b19 100644
--- a/build_tools/pkgci/external_test_suite/onnx_gpu_vulkan.json
+++ b/build_tools/pkgci/external_test_suite/onnx_gpu_vulkan.json
@@ -187,6 +187,7 @@
     "onnx/node/generated/test_gridsample_volumetric_nearest_align_corners_1",
     "onnx/node/generated/test_gridsample_zeros_padding",
     "onnx/node/generated/test_group_normalization_epsilon",
+    "onnx/node/generated/test_group_normalization_epsilon_expanded",
     "onnx/node/generated/test_group_normalization_example",
     "onnx/node/generated/test_group_normalization_example_expanded",
     "onnx/node/generated/test_gru_batchwise",
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/Patterns.cpp b/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/Patterns.cpp
index d5794af..0a03362 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/Patterns.cpp
+++ b/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/Patterns.cpp
@@ -187,33 +187,17 @@
     }
     auto tensorType = op.getType();
     if (!tensorType.hasRank()) {
-      return rewriter.notifyMatchFailure(op,
-                                         "unranked result type not supported");
+      return failure();
     }
 
-    if (op.getNumOperands() == 1) {
-      rewriter.replaceOpWithNewOp<IREE::Flow::TensorSplatOp>(
-          op, tensorType, op.getOperand(0), ValueRange());
-      return success();
+    // Check that all the dimensions are 1.
+    if (!llvm::all_of(tensorType.getShape(),
+                      [](int64_t dim) { return dim == 1; })) {
+      return failure();
     }
 
-    const int64_t rank = tensorType.getRank();
-    Value result = rewriter.create<tensor::EmptyOp>(
-        op.getLoc(), tensorType.getShape(), tensorType.getElementType());
-    SmallVector<Value> ivs(rank);
-    for (int i = 0, s = op.getNumOperands(); i < s; ++i) {
-      int64_t index = i;
-      for (int j = rank - 1; j >= 0; --j) {
-        int64_t iv = index % tensorType.getDimSize(j);
-        index = index / tensorType.getDimSize(j);
-        ivs[j] = rewriter.create<arith::ConstantIndexOp>(op.getLoc(), iv);
-      }
-
-      result = rewriter.create<Flow::TensorStoreOp>(
-          op.getLoc(), op.getOperand(i), result, ivs);
-    }
-
-    rewriter.replaceOp(op, result);
+    rewriter.replaceOpWithNewOp<IREE::Flow::TensorSplatOp>(
+        op, tensorType, op.getOperand(0), ValueRange());
     return success();
   }
 };
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/test/from_elements.mlir b/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/test/from_elements.mlir
index 087d0e3..13489f8 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/test/from_elements.mlir
+++ b/compiler/src/iree/compiler/Dialect/Flow/Conversion/TensorToFlow/test/from_elements.mlir
@@ -10,6 +10,18 @@
 }
 
 // -----
+// CHECK: util.func public @tensor.from_elements__not_convertible(%[[arg0:.*]]: i8)
+util.func public @tensor.from_elements__not_convertible(%arg0: i8) -> (i8) {
+  // CHECK: %[[c0:.*]] = arith.constant 0
+  %c0 = arith.constant 0 : index
+  // CHECK: %[[res:.*]] = tensor.from_elements %[[arg0]], %[[arg0]] : tensor<2xi8>
+  %0 = tensor.from_elements %arg0, %arg0 : tensor<2xi8>
+  // CHECK: flow.tensor.load %[[res]][%[[c0]]]
+  %1 = flow.tensor.load %0[%c0] : tensor<2xi8>
+  util.return %1 : i8
+}
+
+// -----
 util.func public @tensor.from_elements__within_dispatch_workgroups_not_converted() -> tensor<f32> {
   %x = arith.constant 100 : index
   %0 = flow.dispatch.workgroups[%x]() : () -> (tensor<f32>) = () {
@@ -32,21 +44,3 @@
 // CHECK-SAME:     %[[ARG0:.+]]: f32
 //      CHECK:   %[[SPLAT:.+]] = flow.tensor.splat %[[ARG0]] : tensor<f32>
 //      CHECK:   util.return %[[SPLAT]]
-
-// -----
-
-// CHECK-LABEL: util.func public @tensor.from_elements_2D
-util.func @tensor.from_elements_2D(%arg0 : f32, %arg1 : f32, %arg2 : f32, %arg3 : f32, %arg4 : f32, %arg5 : f32) -> tensor<2x3xf32> {
-  %0 = tensor.from_elements %arg0, %arg1, %arg2, %arg3, %arg4, %arg5 : tensor<2x3xf32>
-  // CHECK-DAG: %[[C2:.+]] = arith.constant 2 : index
-  // CHECK-DAG: %[[C1:.+]] = arith.constant 1 : index
-  // CHECK-DAG: %[[C0:.+]] = arith.constant 0 : index
-  // CHECK:     %[[EMPTY:.+]] = tensor.empty() : tensor<2x3xf32>
-  // CHECK:     %[[STORE0:.+]] = flow.tensor.store %arg0, %[[EMPTY]][%[[C0]], %[[C0]]] : tensor<2x3xf32>
-  // CHECK:     %[[STORE1:.+]] = flow.tensor.store %arg1, %[[STORE0]][%[[C0]], %[[C1]]] : tensor<2x3xf32>
-  // CHECK:     %[[STORE2:.+]] = flow.tensor.store %arg2, %[[STORE1]][%[[C0]], %[[C2]]] : tensor<2x3xf32>
-  // CHECK:     %[[STORE3:.+]] = flow.tensor.store %arg3, %[[STORE2]][%[[C1]], %[[C0]]] : tensor<2x3xf32>
-  // CHECK:     %[[STORE4:.+]] = flow.tensor.store %arg4, %[[STORE3]][%[[C1]], %[[C1]]] : tensor<2x3xf32>
-  // CHECK:     %[[STORE5:.+]] = flow.tensor.store %arg5, %[[STORE4]][%[[C1]], %[[C2]]] : tensor<2x3xf32>
-  util.return %0 : tensor<2x3xf32>
-}