IVGCVSW-949 Refactor - clean up includes of ClWorkloadUtils.hpp

Move ClWorkloadUtils.hpp into ClWorkloads and reduce the number of places that include it

Change-Id: Iac661be34c185d6208ca75509155b049c24293ca
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a5dde68..a65567d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -546,7 +546,7 @@
         src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.hpp
         src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp
         src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.hpp
-        src/armnn/backends/ClWorkloadUtils.hpp
+        src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp
         src/armnn/backends/ClTensorHandle.hpp
         src/armnn/OpenClTimer.cpp
         src/armnn/OpenClTimer.hpp)
diff --git a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp
index a69f6c5..97078bd 100644
--- a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.cpp
@@ -7,6 +7,8 @@
 #include "backends/ClTensorHandle.hpp"
 #include "backends/ArmComputeUtils.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 arm_compute::Status ClActivationWorkloadValidate(const TensorInfo& input,
@@ -51,4 +53,4 @@
     m_ActivationLayer.run();
 }
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp
index 4f283a9..e1b6fe1 100644
--- a/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClActivationFloatWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
@@ -24,4 +26,4 @@
     mutable arm_compute::CLActivationLayer m_ActivationLayer;
 };
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp b/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp
index 07826b8..f39c856 100644
--- a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.cpp
@@ -9,6 +9,9 @@
 #include "backends/ArmComputeUtils.hpp"
 #include "backends/ClTensorHandle.hpp"
 #include "backends/CpuTensorHandle.hpp"
+
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp b/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp
index f133f9c..bb2ff58 100644
--- a/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClActivationUint8Workload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp b/src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp
index 0bba327..dd439d5 100644
--- a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClAdditionWorkload.cpp
@@ -9,6 +9,8 @@
 #include "backends/CpuTensorHandle.hpp"
 #include "backends/ArmComputeTensorUtils.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
diff --git a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp b/src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp
index 8af8f23..b470689 100644
--- a/src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClAdditionWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp b/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp
index 735b053..021d175 100644
--- a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.cpp
@@ -9,6 +9,8 @@
 #include "backends/CpuTensorHandle.hpp"
 #include "Half.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
@@ -59,4 +61,4 @@
 }
 
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp b/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp
index 7304879..ca1db38 100644
--- a/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClBaseConstantWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
@@ -25,4 +27,4 @@
     mutable bool m_RanOnce;
 };
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp b/src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp
index 9f55779..420e074 100644
--- a/src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClBaseMergerWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp b/src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp
index 30792e4..41f382c 100644
--- a/src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClBaseSplitterWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
index 4433a2a..021734a 100644
--- a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.cpp
@@ -9,6 +9,8 @@
 #include "backends/ArmComputeTensorUtils.hpp"
 #include "backends/ClLayerSupport.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
@@ -91,4 +93,4 @@
     FreeTensorIfUnused(m_Beta);
 }
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
index 7af2550..22c71b1 100644
--- a/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClBatchNormalizationFloatWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp
index eaa433a..1565047 100644
--- a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.cpp
@@ -4,6 +4,8 @@
 //
 
 #include "ClConstantFloatWorkload.hpp"
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
@@ -13,4 +15,4 @@
     ClBaseConstantWorkload::Execute();
 }
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp
index c702f2b..0cbeaad 100644
--- a/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClConstantFloatWorkload.hpp
@@ -17,4 +17,4 @@
 };
 
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp b/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp
index d9dfaa2..a5ef032 100644
--- a/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClConstantUint8Workload.cpp
@@ -4,6 +4,8 @@
 //
 
 #include "ClConstantUint8Workload.hpp"
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
@@ -13,4 +15,4 @@
     ClBaseConstantWorkload::Execute();
 }
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp b/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
index 9408288..534249a 100644
--- a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.cpp
@@ -6,6 +6,8 @@
 #include "ClConvertFp16ToFp32Workload.hpp"
 #include "backends/ClTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp b/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
index 6b7279d..c72d226 100644
--- a/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClConvertFp16ToFp32Workload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp b/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
index 8633548..73b3cbc 100644
--- a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.cpp
@@ -6,6 +6,8 @@
 #include "ClConvertFp32ToFp16Workload.hpp"
 #include "backends/ClTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
@@ -61,4 +63,4 @@
 }
 
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp b/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
index 9c602ae..fb6af02 100644
--- a/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClConvertFp32ToFp16Workload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp b/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
index f111323..228f17d 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp
@@ -9,6 +9,8 @@
 #include "backends/ArmComputeUtils.hpp"
 #include "backends/ArmComputeTensorUtils.hpp"
 
+#include <arm_compute/runtime/CL/functions/CLConvolutionLayer.h>
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp b/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
index 5796dfb..a983dba 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClConvolution2dBaseWorkload.hpp
@@ -5,10 +5,13 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include <armnn/Tensor.hpp>
+#include <armnn/Descriptors.hpp>
 
 #include <boost/optional.hpp>
 
+#include <arm_compute/core/Error.h>
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
index c4e9f59..029f41d 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp
@@ -9,6 +9,8 @@
 #include "backends/ArmComputeTensorUtils.hpp"
 #include "backends/ClLayerSupport.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
index ddf2d7b..28ba53f 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClConvolution2dFloatWorkload.hpp
@@ -5,9 +5,10 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
 
-#include "arm_compute/runtime/MemoryManagerOnDemand.h"
+#include <arm_compute/runtime/CL/CLFunctions.h>
+#include <arm_compute/runtime/MemoryManagerOnDemand.h>
 
 #include <memory>
 
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp b/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
index b1df78a..e6783b6 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp
@@ -9,6 +9,8 @@
 #include "backends/ArmComputeTensorUtils.hpp"
 #include "backends/ClLayerSupport.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
diff --git a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp b/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
index f1cfbcf..f1f008b 100644
--- a/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClConvolution2dUint8Workload.hpp
@@ -5,9 +5,10 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
 
-#include "arm_compute/runtime/MemoryManagerOnDemand.h"
+#include <arm_compute/runtime/CL/CLFunctions.h>
+#include <arm_compute/runtime/MemoryManagerOnDemand.h>
 
 #include <memory>
 
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
index 446746c..49a8b5d 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionBaseWorkload.hpp
@@ -5,10 +5,11 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
-
+#include "backends/Workload.hpp"
 #include <boost/optional.hpp>
 
+#include <arm_compute/runtime/CL/CLFunctions.h>
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
index 6aa4d21..635ae1f 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.cpp
@@ -5,9 +5,10 @@
 
 #include "ClDepthwiseConvolutionFloatWorkload.hpp"
 
-#include "backends/ClWorkloadUtils.hpp"
 #include "backends/CpuTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
index 86aacd0..4f9d5f3 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionFloatWorkload.hpp
@@ -7,8 +7,6 @@
 
 #include "ClDepthwiseConvolutionBaseWorkload.hpp"
 
-#include "backends/ClWorkloadUtils.hpp"
-
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
index a648d01..af5836e 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.cpp
@@ -7,6 +7,8 @@
 
 #include "backends/CpuTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
index c13a104..b9f676d 100644
--- a/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClDepthwiseConvolutionUint8Workload.hpp
@@ -7,8 +7,6 @@
 
 #include "ClDepthwiseConvolutionBaseWorkload.hpp"
 
-#include "backends/ClWorkloadUtils.hpp"
-
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
index ad9a1ae..2371789 100644
--- a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.cpp
@@ -7,6 +7,8 @@
 #include "backends/ClTensorHandle.hpp"
 #include "backends/CpuTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
index 850ae94..d34e11d 100644
--- a/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClDivisionFloatWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp
index 701d8c6..d090a7d 100644
--- a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.cpp
@@ -6,6 +6,8 @@
 #include "ClFloorFloatWorkload.hpp"
 #include "backends/ClTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp
index 1c84273..f269bcf 100644
--- a/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClFloorFloatWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp b/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
index 5307fab..8d2fd0e 100644
--- a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.cpp
@@ -10,6 +10,8 @@
 #include "backends/ArmComputeUtils.hpp"
 #include "backends/ClLayerSupport.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
diff --git a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp b/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
index 7aa9b86..a61610992 100644
--- a/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClFullyConnectedWorkload.hpp
@@ -5,9 +5,10 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
 
-#include "arm_compute/runtime/MemoryManagerOnDemand.h"
+#include <arm_compute/runtime/CL/CLFunctions.h>
+#include <arm_compute/runtime/MemoryManagerOnDemand.h>
 
 #include <memory>
 
diff --git a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
index 23b2f4e..4ccaae3 100644
--- a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.cpp
@@ -8,6 +8,8 @@
 #include "backends/CpuTensorHandle.hpp"
 #include "backends/ArmComputeUtils.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
diff --git a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
index 32cf5e8..f3f7de1 100644
--- a/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClL2NormalizationFloatWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp
index 249a861..09a34c2 100644
--- a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.cpp
@@ -8,7 +8,10 @@
 #include "backends/CpuTensorHandle.hpp"
 #include "backends/ArmComputeTensorUtils.hpp"
 #include "backends/ClLayerSupport.hpp"
-#include "arm_compute/runtime/CL/functions/CLLSTMLayer.h"
+
+#include <arm_compute/runtime/CL/functions/CLLSTMLayer.h>
+
+#include "ClWorkloadUtils.hpp"
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp
index 5ced241..61d8fc3 100644
--- a/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClLstmFloatWorkload.hpp
@@ -5,10 +5,11 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
 #include "backends/Workload.hpp"
 #include "backends/WorkloadData.hpp"
 
+#include <arm_compute/runtime/CL/CLFunctions.h>
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp
index fedbaee..151f1e0 100644
--- a/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClMergerFloatWorkload.cpp
@@ -5,6 +5,7 @@
 
 #include "ClMergerFloatWorkload.hpp"
 
+#include "ClWorkloadUtils.hpp"
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp b/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp
index c7f3b75..9d1060d 100644
--- a/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClMergerUint8Workload.cpp
@@ -5,6 +5,7 @@
 
 #include "ClMergerUint8Workload.hpp"
 
+#include "ClWorkloadUtils.hpp"
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
index cc9ec35..c3330a9 100644
--- a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.cpp
@@ -6,6 +6,7 @@
 #include "ClMultiplicationFloatWorkload.hpp"
 #include "backends/ClTensorHandle.hpp"
 #include "backends/CpuTensorHandle.hpp"
+#include "ClWorkloadUtils.hpp"
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
index 6782027..c2d6b76 100644
--- a/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClMultiplicationFloatWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
index 38e2fa8..d262535 100644
--- a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.cpp
@@ -9,6 +9,7 @@
 #include "backends/ClLayerSupport.hpp"
 #include "backends/ArmComputeUtils.hpp"
 #include "backends/ArmComputeTensorUtils.hpp"
+#include "ClWorkloadUtils.hpp"
 
 namespace armnn
 {
@@ -46,4 +47,4 @@
     m_NormalizationLayer.run();
 }
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
index 40534fa..f02d0ad 100644
--- a/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClNormalizationFloatWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
@@ -24,4 +26,4 @@
     mutable arm_compute::CLNormalizationLayer    m_NormalizationLayer;
 };
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp b/src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp
index c2c1587..29d98bf 100644
--- a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClPermuteWorkload.cpp
@@ -9,6 +9,8 @@
 
 #include <arm_compute/core/Error.h>
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp b/src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp
index a848955..a1f3161 100644
--- a/src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClPermuteWorkload.hpp
@@ -7,7 +7,6 @@
 
 #include "backends/Workload.hpp"
 #include "backends/WorkloadData.hpp"
-#include "backends/ClWorkloadUtils.hpp"
 
 #include <armnn/TypesUtils.hpp>
 #include <arm_compute/runtime/CL/functions/CLPermute.h>
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp b/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
index 3c61b0d..ea7ddfb 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClPooling2dBaseWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
index 1b8f68b..dc9d17f 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.cpp
@@ -5,6 +5,8 @@
 
 #include "ClPooling2dFloatWorkload.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
index 61d27ca..71648d4 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClPooling2dFloatWorkload.hpp
@@ -5,8 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
-#include "backends/ClWorkloads//ClPooling2dBaseWorkload.hpp"
+#include "backends/Workload.hpp"
+
+#include "ClPooling2dBaseWorkload.hpp"
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp b/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
index 3d2b8eb..0b4b15f 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.cpp
@@ -5,6 +5,8 @@
 
 #include "ClPooling2dUint8Workload.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp b/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
index f4097a3..2baf2aa 100644
--- a/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClPooling2dUint8Workload.hpp
@@ -5,8 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
-#include "backends/ClWorkloads/ClPooling2dBaseWorkload.hpp"
+#include "backends/Workload.hpp"
+
+#include "ClPooling2dBaseWorkload.hpp"
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
index 66888d6..ea50436 100644
--- a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.cpp
@@ -7,6 +7,8 @@
 #include "backends/ClTensorHandle.hpp"
 #include "backends/CpuTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
index 290f540..4826514 100644
--- a/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClReshapeFloatWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp b/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp
index 5d2404e..82bd93e 100644
--- a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.cpp
@@ -7,6 +7,8 @@
 #include "backends/ClTensorHandle.hpp"
 #include "backends/CpuTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 ClReshapeUint8Workload::ClReshapeUint8Workload(const ReshapeQueueDescriptor& descriptor, const WorkloadInfo& info)
@@ -26,4 +28,4 @@
     m_Layer.run();
 }
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp b/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp
index 73915f5..c9801a3 100644
--- a/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClReshapeUint8Workload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
index 39aa868..8348afb 100644
--- a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.cpp
@@ -9,6 +9,8 @@
 #include "backends/ClLayerSupport.hpp"
 #include "backends/ArmComputeUtils.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
@@ -33,4 +35,4 @@
 }
 
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
index 9478c1a..f2ee67f 100644
--- a/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClResizeBilinearFloatWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
@@ -20,4 +22,4 @@
     mutable arm_compute::CLScale m_ResizeBilinearLayer;
 };
 
-} //namespace armnn
\ No newline at end of file
+} //namespace armnn
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp b/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
index 70abe75..b4ea236 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.cpp
@@ -7,6 +7,8 @@
 
 #include "backends/ArmComputeTensorUtils.hpp"
 
+#include <arm_compute/runtime/CL/functions/CLSoftmaxLayer.h>
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp b/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
index 751d8ff..b800056 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClSoftmaxBaseWorkload.hpp
@@ -5,7 +5,8 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include <armnn/Tensor.hpp>
+#include <arm_compute/core/Error.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
index d809f9a..c34b5a2 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.cpp
@@ -7,6 +7,8 @@
 #include "backends/ClTensorHandle.hpp"
 #include "backends/CpuTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp b/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
index de8ff7e..965b845 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClSoftmaxFloatWorkload.hpp
@@ -5,8 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
 
+#include <arm_compute/runtime/CL/CLFunctions.h>
 #include "arm_compute/runtime/MemoryManagerOnDemand.h"
 
 #include <memory>
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp b/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
index 123f7c6..1bb9628 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.cpp
@@ -7,6 +7,8 @@
 #include "backends/ClTensorHandle.hpp"
 #include "backends/CpuTensorHandle.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp b/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
index f5eba71..29427a5 100644
--- a/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClSoftmaxUint8Workload.hpp
@@ -5,8 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
 
+#include <arm_compute/runtime/CL/CLFunctions.h>
 #include "arm_compute/runtime/MemoryManagerOnDemand.h"
 
 #include <memory>
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp b/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
index a95c062..5fd634b 100644
--- a/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClSplitterFloatWorkload.cpp
@@ -5,6 +5,8 @@
 
 #include "ClSplitterFloatWorkload.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp b/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp
index 207a3c4..50a251a 100644
--- a/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClSplitterUint8Workload.cpp
@@ -5,6 +5,8 @@
 
 #include "ClSplitterUint8Workload.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 
diff --git a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp b/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp
index ec8bfc6..1c70130 100644
--- a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp
+++ b/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.cpp
@@ -9,6 +9,8 @@
 #include "backends/CpuTensorHandle.hpp"
 #include "backends/ArmComputeTensorUtils.hpp"
 
+#include "ClWorkloadUtils.hpp"
+
 namespace armnn
 {
 using namespace armcomputetensorutils;
diff --git a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp b/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp
index 422e6a7..59a5f01 100644
--- a/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp
+++ b/src/armnn/backends/ClWorkloads/ClSubtractionWorkload.hpp
@@ -5,7 +5,9 @@
 
 #pragma once
 
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/Workload.hpp"
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
 
 namespace armnn
 {
diff --git a/src/armnn/backends/ClWorkloadUtils.hpp b/src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp
similarity index 92%
rename from src/armnn/backends/ClWorkloadUtils.hpp
rename to src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp
index 82cd37d..a42e48c 100644
--- a/src/armnn/backends/ClWorkloadUtils.hpp
+++ b/src/armnn/backends/ClWorkloads/ClWorkloadUtils.hpp
@@ -4,14 +4,16 @@
 //
 #pragma once
 
-#include "Workload.hpp"
+#include "OpenClTimer.hpp"
+#include "backends/Workload.hpp"
+#include "backends/ArmComputeTensorUtils.hpp"
+#include "backends/CpuTensorHandle.hpp"
+
 #include <arm_compute/core/CL/OpenCL.h>
 #include <arm_compute/runtime/CL/CLFunctions.h>
 #include <arm_compute/runtime/SubTensor.h>
-#include "ArmComputeTensorUtils.hpp"
-#include "OpenClTimer.hpp"
-#include "CpuTensorHandle.hpp"
-#include "Half.hpp"
+
+#include <Half.hpp>
 
 #define ARMNN_SCOPED_PROFILING_EVENT_CL(name) \
     ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::GpuAcc, \
diff --git a/src/armnn/backends/test/ArmComputeCl.cpp b/src/armnn/backends/test/ArmComputeCl.cpp
index d8a70f0..9a516b6 100644
--- a/src/armnn/backends/test/ArmComputeCl.cpp
+++ b/src/armnn/backends/test/ArmComputeCl.cpp
@@ -8,7 +8,7 @@
 
 #include "backends/CpuTensorHandle.hpp"
 #include "backends/ClWorkloadFactory.hpp"
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/ClWorkloads/ClWorkloadUtils.hpp"
 #include "backends/RefWorkloadFactory.hpp"
 #include "backends/ClLayerSupport.hpp"
 #include "ActivationFixture.hpp"
diff --git a/src/armnn/backends/test/CreateWorkloadCl.cpp b/src/armnn/backends/test/CreateWorkloadCl.cpp
index bce265c..af3192c 100644
--- a/src/armnn/backends/test/CreateWorkloadCl.cpp
+++ b/src/armnn/backends/test/CreateWorkloadCl.cpp
@@ -5,7 +5,7 @@
 #include "backends/ClWorkloadFactory.hpp"
 #include "backends/RefWorkloadFactory.hpp"
 #include "backends/MemCopyWorkload.hpp"
-#include "backends/ClWorkloadUtils.hpp"
+#include "backends/ClWorkloads/ClWorkloadUtils.hpp"
 #include "backends/ClWorkloads.hpp"
 #include "backends/ClTensorHandle.hpp"
 #include "ClContextControlFixture.hpp"