MLCE-80 Remove strong typing from NeonBatchNormalization

Technical debt work towards adding some new Neon workloads

Change-Id: I08ab6dd14d0e89d4ebc8a878fb69caa5681012bf
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp
index 724455d..7efdf15 100644
--- a/src/backends/neon/NeonLayerSupport.cpp
+++ b/src/backends/neon/NeonLayerSupport.cpp
@@ -19,7 +19,7 @@
 #ifdef ARMCOMPUTENEON_ENABLED
 #include "workloads/NeonAdditionWorkload.hpp"
 #include "workloads/NeonActivationWorkload.hpp"
-#include "workloads/NeonBatchNormalizationFloatWorkload.hpp"
+#include "workloads/NeonBatchNormalizationWorkload.hpp"
 #include "workloads/NeonConvolution2dWorkload.hpp"
 #include "workloads/NeonDepthwiseConvolutionWorkload.hpp"
 #include "workloads/NeonL2NormalizationFloatWorkload.hpp"
diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp
index 848a6f3..85e5768 100644
--- a/src/backends/neon/NeonWorkloadFactory.cpp
+++ b/src/backends/neon/NeonWorkloadFactory.cpp
@@ -185,7 +185,7 @@
 std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateBatchNormalization(
     const BatchNormalizationQueueDescriptor& descriptor, const WorkloadInfo& info) const
 {
-    return MakeWorkloadHelper<NeonBatchNormalizationFloatWorkload, NullWorkload>(descriptor, info);
+    return std::make_unique<NeonBatchNormalizationWorkload>(descriptor, info);
 }
 
 std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateMemCopy(const MemCopyQueueDescriptor& descriptor,
diff --git a/src/backends/neon/backend.mk b/src/backends/neon/backend.mk
index a3058ad..fdfd696 100644
--- a/src/backends/neon/backend.mk
+++ b/src/backends/neon/backend.mk
@@ -15,7 +15,7 @@
         NeonWorkloadFactory.cpp \
         workloads/NeonActivationWorkload.cpp \
         workloads/NeonAdditionWorkload.cpp \
-        workloads/NeonBatchNormalizationFloatWorkload.cpp \
+        workloads/NeonBatchNormalizationWorkload.cpp \
         workloads/NeonConstantWorkload.cpp \
         workloads/NeonConvertFp16ToFp32Workload.cpp \
         workloads/NeonConvertFp32ToFp16Workload.cpp \
diff --git a/src/backends/neon/test/NeonCreateWorkloadTests.cpp b/src/backends/neon/test/NeonCreateWorkloadTests.cpp
index adb64cb..86fc457 100644
--- a/src/backends/neon/test/NeonCreateWorkloadTests.cpp
+++ b/src/backends/neon/test/NeonCreateWorkloadTests.cpp
@@ -183,23 +183,23 @@
 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
 BOOST_AUTO_TEST_CASE(CreateBatchNormalizationFloat16NchwWorkload)
 {
-    NeonCreateBatchNormalizationWorkloadTest<NeonBatchNormalizationFloatWorkload, DataType::Float16>(DataLayout::NCHW);
+    NeonCreateBatchNormalizationWorkloadTest<NeonBatchNormalizationWorkload, DataType::Float16>(DataLayout::NCHW);
 }
 
 BOOST_AUTO_TEST_CASE(CreateBatchNormalizationFloat16NhwcWorkload)
 {
-    NeonCreateBatchNormalizationWorkloadTest<NeonBatchNormalizationFloatWorkload, DataType::Float16>(DataLayout::NHWC);
+    NeonCreateBatchNormalizationWorkloadTest<NeonBatchNormalizationWorkload, DataType::Float16>(DataLayout::NHWC);
 }
 #endif
 
 BOOST_AUTO_TEST_CASE(CreateBatchNormalizationFloatNchwWorkload)
 {
-    NeonCreateBatchNormalizationWorkloadTest<NeonBatchNormalizationFloatWorkload, DataType::Float32>(DataLayout::NCHW);
+    NeonCreateBatchNormalizationWorkloadTest<NeonBatchNormalizationWorkload, DataType::Float32>(DataLayout::NCHW);
 }
 
 BOOST_AUTO_TEST_CASE(CreateBatchNormalizationFloatNhwcWorkload)
 {
-    NeonCreateBatchNormalizationWorkloadTest<NeonBatchNormalizationFloatWorkload, DataType::Float32>(DataLayout::NHWC);
+    NeonCreateBatchNormalizationWorkloadTest<NeonBatchNormalizationWorkload, DataType::Float32>(DataLayout::NHWC);
 }
 
 template <typename armnn::DataType DataType>
diff --git a/src/backends/neon/workloads/CMakeLists.txt b/src/backends/neon/workloads/CMakeLists.txt
index 9961397..7b0251c 100644
--- a/src/backends/neon/workloads/CMakeLists.txt
+++ b/src/backends/neon/workloads/CMakeLists.txt
@@ -8,8 +8,8 @@
     NeonActivationWorkload.hpp
     NeonAdditionWorkload.cpp
     NeonAdditionWorkload.hpp
-    NeonBatchNormalizationFloatWorkload.cpp
-    NeonBatchNormalizationFloatWorkload.hpp
+    NeonBatchNormalizationWorkload.cpp
+    NeonBatchNormalizationWorkload.hpp
     NeonConstantWorkload.cpp
     NeonConstantWorkload.hpp
     NeonConvertFp16ToFp32Workload.cpp
diff --git a/src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.cpp b/src/backends/neon/workloads/NeonBatchNormalizationWorkload.cpp
similarity index 89%
rename from src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.cpp
rename to src/backends/neon/workloads/NeonBatchNormalizationWorkload.cpp
index a8181f6..44d5035 100644
--- a/src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.cpp
+++ b/src/backends/neon/workloads/NeonBatchNormalizationWorkload.cpp
@@ -3,7 +3,7 @@
 // SPDX-License-Identifier: MIT
 //
 
-#include "NeonBatchNormalizationFloatWorkload.hpp"
+#include "NeonBatchNormalizationWorkload.hpp"
 #include <backendsCommon/CpuTensorHandle.hpp>
 #include <aclCommon/ArmComputeTensorUtils.hpp>
 #include <armnn/ArmNN.hpp>
@@ -43,11 +43,11 @@
                                                             descriptor.m_Eps);
 }
 
-NeonBatchNormalizationFloatWorkload::NeonBatchNormalizationFloatWorkload(
+NeonBatchNormalizationWorkload::NeonBatchNormalizationWorkload(
     const BatchNormalizationQueueDescriptor& descriptor, const WorkloadInfo& info)
-    : FloatWorkload<BatchNormalizationQueueDescriptor>(descriptor, info)
+    : BaseWorkload<BatchNormalizationQueueDescriptor>(descriptor, info)
 {
-    m_Data.ValidateInputsOutputs("NeonBatchNormalizationFloatWorkload", 1, 1);
+    m_Data.ValidateInputsOutputs("NeonBatchNormalizationWorkload", 1, 1);
 
     arm_compute::ITensor& input = boost::polymorphic_downcast<INeonTensorHandle*>(m_Data.m_Inputs[0])->GetTensor();
     arm_compute::ITensor& output = boost::polymorphic_downcast<INeonTensorHandle*>(m_Data.m_Outputs[0])->GetTensor();
@@ -87,13 +87,13 @@
     FreeUnusedTensors();
 }
 
-void NeonBatchNormalizationFloatWorkload::Execute() const
+void NeonBatchNormalizationWorkload::Execute() const
 {
-    ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonBatchNormalizationFloatWorkload_Execute");
+    ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonBatchNormalizationWorkload_Execute");
     m_Layer.run();
 }
 
-void NeonBatchNormalizationFloatWorkload::FreeUnusedTensors()
+void NeonBatchNormalizationWorkload::FreeUnusedTensors()
 {
     FreeTensorIfUnused(m_Mean);
     FreeTensorIfUnused(m_Variance);
diff --git a/src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.hpp b/src/backends/neon/workloads/NeonBatchNormalizationWorkload.hpp
similarity index 80%
rename from src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.hpp
rename to src/backends/neon/workloads/NeonBatchNormalizationWorkload.hpp
index a6289bd..52e4db7 100644
--- a/src/backends/neon/workloads/NeonBatchNormalizationFloatWorkload.hpp
+++ b/src/backends/neon/workloads/NeonBatchNormalizationWorkload.hpp
@@ -18,11 +18,11 @@
                                                    const TensorInfo& gamma,
                                                    const BatchNormalizationDescriptor& descriptor);
 
-class NeonBatchNormalizationFloatWorkload : public FloatWorkload<BatchNormalizationQueueDescriptor>
+class NeonBatchNormalizationWorkload : public BaseWorkload<BatchNormalizationQueueDescriptor>
 {
 public:
-    NeonBatchNormalizationFloatWorkload(const BatchNormalizationQueueDescriptor& descriptor,
-                                        const WorkloadInfo& info);
+    NeonBatchNormalizationWorkload(const BatchNormalizationQueueDescriptor& descriptor,
+                                   const WorkloadInfo& info);
     virtual void Execute() const override;
 
 private:
@@ -38,5 +38,3 @@
 
 } //namespace armnn
 
-
-
diff --git a/src/backends/neon/workloads/NeonWorkloads.hpp b/src/backends/neon/workloads/NeonWorkloads.hpp
index 82142f2..1f08d03 100644
--- a/src/backends/neon/workloads/NeonWorkloads.hpp
+++ b/src/backends/neon/workloads/NeonWorkloads.hpp
@@ -6,7 +6,7 @@
 #pragma once
 #include "NeonActivationWorkload.hpp"
 #include "NeonAdditionWorkload.hpp"
-#include "NeonBatchNormalizationFloatWorkload.hpp"
+#include "NeonBatchNormalizationWorkload.hpp"
 #include "NeonConstantWorkload.hpp"
 #include "NeonConvertFp16ToFp32Workload.hpp"
 #include "NeonConvertFp32ToFp16Workload.hpp"