COMPMID-2062 Rework CL ConcatenateLayer

Change-Id: I5a60cd0e822b8912132a6785057921bbf6ef8f7f
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/951
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
diff --git a/arm_compute/runtime/CL/functions/CLConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLConcatenateLayer.h
index 25a0153..5cf09c8 100644
--- a/arm_compute/runtime/CL/functions/CLConcatenateLayer.h
+++ b/arm_compute/runtime/CL/functions/CLConcatenateLayer.h
@@ -77,13 +77,9 @@
     void run() override;
 
 private:
-    void configure_h_concatenate(std::vector<ICLTensor *> inputs_vector, ICLTensor *output);
-    static Status validate_h_concatenate(const std::vector<ITensorInfo *> &inputs_vector, const ITensorInfo *output);
-
-    std::unique_ptr<IFunction>                        _concat_function;
-    std::unique_ptr<CLHeightConcatenateLayerKernel[]> _hconcat_kernels;
-    unsigned int                                      _num_inputs;
-    unsigned int                                      _axis;
+    std::vector<std::unique_ptr<ICLKernel>> _concat_kernels;
+    unsigned int                            _num_inputs;
+    unsigned int                            _axis;
 };
 }
 #endif /* __ARM_COMPUTE_CLCONCATENATELAYER_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h
index aef5d63..33f751f 100644
--- a/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -41,6 +41,8 @@
 
 /** Basic function to execute concatenate tensors along z axis. This function calls the following kernels:
  *
+ * @deprecated This function is deprecated and will be removed in release 19.08
+ *
  * -# @ref CLFillBorderKernel (executed if input's lowest two dimensions are smaller than respective output's dimensions)
  * -# @ref CLDepthConcatenateLayerKernel
  *
diff --git a/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h
index 55b65da..a87ec30 100644
--- a/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h
+++ b/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -42,6 +42,8 @@
 
 /** Basic function to execute concatenate tensors along x axis. This function calls the following kernel:
  *
+ * @deprecated This function is deprecated and will be removed in release 19.08
+ *
  * -# @ref CLWidthConcatenateLayerKernel
  * -# @ref CLWidthConcatenate2TensorsKernel (if there are exactly 2 input tensors)
  * -# @ref CLWidthConcatenate4TensorsKernel (if there are exactly 4 input tensors)