Remove valid region calculation from CpuElementwise

Valid region calculation has been removed before
but used unintentionally while adding dynamic
tensor shape support to CpuElementwiseKernel.
Remove it to eliminate valid region calculation
on CPU side.

Implements: COMPMID-4217

Change-Id: Ide161bdf9de81a7feabe1e631682945ca8ab0aa4
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5242
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/core/cpu/kernels/CpuElementwiseKernel.cpp b/src/core/cpu/kernels/CpuElementwiseKernel.cpp
index 23e95f7..4ab6244 100644
--- a/src/core/cpu/kernels/CpuElementwiseKernel.cpp
+++ b/src/core/cpu/kernels/CpuElementwiseKernel.cpp
@@ -187,7 +187,7 @@
         return;
     }
 
-    auto shape_and_window = compute_output_shape_and_window(*src0, *src1);
+    auto shape_and_window = compute_output_shape_and_window(src0->tensor_shape(), src1->tensor_shape());
     auto_init_if_empty(*dst, shape_and_window.first, 1, src0->data_type());
     ICpuKernel::configure(shape_and_window.second);
 }
diff --git a/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp b/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp
index ff2d080..3a96d93 100644
--- a/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp
+++ b/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp
@@ -120,7 +120,7 @@
         return;
     }
 
-    auto shape_and_window = compute_output_shape_and_window(src);
+    auto shape_and_window = compute_output_shape_and_window(src.tensor_shape());
     auto_init_if_empty(dst, shape_and_window.first, 1, src.data_type());
     ICpuKernel::configure(shape_and_window.second);
 }
diff --git a/src/core/helpers/WindowHelpers.h b/src/core/helpers/WindowHelpers.h
index 637e932..dad5da6 100644
--- a/src/core/helpers/WindowHelpers.h
+++ b/src/core/helpers/WindowHelpers.h
@@ -184,14 +184,11 @@
  *
  * @return A pair of the shape and window
  */
-template <typename... Infos>
-std::pair<TensorShape, Window> compute_output_shape_and_window(const Infos &... infos)
+template <typename... Shapes>
+std::pair<TensorShape, Window> compute_output_shape_and_window(const Shapes &... shapes)
 {
-    const std::pair<TensorShape, ValidRegion> broadcast_pair = ITensorInfo::broadcast_shape_and_valid_region(infos...);
-    const TensorShape &out_shape    = broadcast_pair.first;
-    const ValidRegion &valid_region = broadcast_pair.second;
-
-    return std::make_pair(out_shape, calculate_max_window(valid_region));
+    const TensorShape out_shape = TensorShape::broadcast_shape(shapes...);
+    return std::make_pair(out_shape, calculate_max_window(out_shape));
 }
 #endif /* DOXYGEN_SKIP_THIS */
 } // namespace arm_compute
diff --git a/src/runtime/cpu/operators/CpuElementwise.cpp b/src/runtime/cpu/operators/CpuElementwise.cpp
index b5c8dde..5457825 100644
--- a/src/runtime/cpu/operators/CpuElementwise.cpp
+++ b/src/runtime/cpu/operators/CpuElementwise.cpp
@@ -40,7 +40,7 @@
 
     auto src0_info        = tensors.get_const_tensor(TensorType::ACL_SRC_0)->info();
     auto src1_info        = tensors.get_const_tensor(TensorType::ACL_SRC_1)->info();
-    auto shape_and_window = compute_output_shape_and_window(*src0_info, *src1_info);
+    auto shape_and_window = compute_output_shape_and_window(src0_info->tensor_shape(), src1_info->tensor_shape());
     ICpuOperator::run(tensors, shape_and_window.second);
 }
 
diff --git a/src/runtime/cpu/operators/CpuElementwiseUnary.cpp b/src/runtime/cpu/operators/CpuElementwiseUnary.cpp
index 2140c5c..c79e6e9 100644
--- a/src/runtime/cpu/operators/CpuElementwiseUnary.cpp
+++ b/src/runtime/cpu/operators/CpuElementwiseUnary.cpp
@@ -52,7 +52,7 @@
     }
 
     auto src_info = tensors.get_const_tensor(TensorType::ACL_SRC)->info();
-    ICpuOperator::run(tensors, compute_output_shape_and_window(*src_info).second);
+    ICpuOperator::run(tensors, compute_output_shape_and_window(src_info->tensor_shape()).second);
 }
 } // namespace cpu
 } // namespace arm_compute
\ No newline at end of file